#include "StaticFFT_8.h"
#include "FFTCommon.h"
#include <xmmintrin.h>
#ifdef __AVX__
#include <immintrin.h>
#endif

#ifndef __AVX__
//SSE
void StaticFFT_8()
{
    float Re0, Re1, Re2, Re3;
    float Im0, Im1, Im2, Im3;
    float RA, IA;
    float RF1, IF1, RF2, IF2;
    float R, I;
    __m128 mRF1, mIF1, mRF2, mIF2;
    __m128 mR, mI;
    Re0 = SFRe[252]; Im0 = SFIm[252];
    Re1 = SFRe[253]; Im1 = SFIm[253];
    Re2 = SFRe[254]; Im2 = SFIm[254];
    Re3 = SFRe[255]; Im3 = SFIm[255];
    SFRe[252] = Re0 + Re1; SFIm[252] = Im0 + Im1;
    SFRe[253] = Re0 - Re1; SFIm[253] = Im0 - Im1;
    SFRe[254] = Re2 + Re3; SFIm[254] = Im2 + Im3;
    SFRe[255] = Im2 - Im3; SFIm[255] = Re3 - Re2;
    RA = SFRe[252] + SFRe[254];
    IA = SFIm[252] + SFIm[254];
    SFRe[254] = SFRe[252] - SFRe[254];
    SFIm[254] = SFIm[252] - SFIm[254];
    SFRe[252] = RA;
    SFIm[252] = IA;
    RA = SFRe[253] + SFRe[255];
    IA = SFIm[253] + SFIm[255];
    SFRe[255] = SFRe[253] - SFRe[255];
    SFIm[255] = SFIm[253] - SFIm[255];
    SFRe[253] = RA;
    SFIm[253] = IA;
    Re0 = SFRe[248]; Im0 = SFIm[248];
    Re1 = SFRe[249]; Im1 = SFIm[249];
    Re2 = SFRe[250]; Im2 = SFIm[250];
    Re3 = SFRe[251]; Im3 = SFIm[251];
    SFRe[248] = Re0 + Re1; SFIm[248] = Im0 + Im1;
    SFRe[249] = Re0 - Re1; SFIm[249] = Im0 - Im1;
    SFRe[250] = Re2 + Re3; SFIm[250] = Im2 + Im3;
    SFRe[251] = Im2 - Im3; SFIm[251] = Re3 - Re2;
    RA = SFRe[248] + SFRe[250];
    IA = SFIm[248] + SFIm[250];
    SFRe[250] = SFRe[248] - SFRe[250];
    SFIm[250] = SFIm[248] - SFIm[250];
    SFRe[248] = RA;
    SFIm[248] = IA;
    RA = SFRe[249] + SFRe[251];
    IA = SFIm[249] + SFIm[251];
    SFRe[251] = SFRe[249] - SFRe[251];
    SFIm[251] = SFIm[249] - SFIm[251];
    SFRe[249] = RA;
    SFIm[249] = IA;
    R = SFRe[246] + SFRe[247];
    I = SFIm[246] + SFIm[247];
    SFRe[247] = SFRe[246] - SFRe[247];
    SFIm[247] = SFIm[246] - SFIm[247];
    SFRe[246] = R;
    SFIm[246] = I;
    R = SFRe[244] + SFRe[245];
    I = SFIm[244] + SFIm[245];
    SFRe[245] = SFRe[244] - SFRe[245];
    SFIm[245] = SFIm[244] - SFIm[245];
    SFRe[244] = R;
    SFIm[244] = I;
    Re0 = SFRe[240]; Im0 = SFIm[240];
    Re1 = SFRe[241]; Im1 = SFIm[241];
    Re2 = SFRe[242]; Im2 = SFIm[242];
    Re3 = SFRe[243]; Im3 = SFIm[243];
    SFRe[240] = Re0 + Re1; SFIm[240] = Im0 + Im1;
    SFRe[241] = Re0 - Re1; SFIm[241] = Im0 - Im1;
    SFRe[242] = Re2 + Re3; SFIm[242] = Im2 + Im3;
    SFRe[243] = Im2 - Im3; SFIm[243] = Re3 - Re2;
    RA = SFRe[240] + SFRe[242];
    IA = SFIm[240] + SFIm[242];
    SFRe[242] = SFRe[240] - SFRe[242];
    SFIm[242] = SFIm[240] - SFIm[242];
    SFRe[240] = RA;
    SFIm[240] = IA;
    RA = SFRe[241] + SFRe[243];
    IA = SFIm[241] + SFIm[243];
    SFRe[243] = SFRe[241] - SFRe[243];
    SFIm[243] = SFIm[241] - SFIm[243];
    SFRe[241] = RA;
    SFIm[241] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[244];
    I = SFIm[244];
    SFRe[244] = R * RF1 - I * IF1;
    SFIm[244] = R * IF1 + I * RF1;
    R = SFRe[246];
    I = SFIm[246];
    SFRe[246] = R * RF2 - I * IF2;
    SFIm[246] = R * IF2 + I * RF2;
    R = SFRe[246];
    I = SFIm[246];
    SFRe[246] = SFIm[244] - I;
    SFIm[246] = R - SFRe[244];
    SFRe[244] += R;
    SFIm[244] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[245];
    I = SFIm[245];
    SFRe[245] = R * RF1 - I * IF1;
    SFIm[245] = R * IF1 + I * RF1;
    R = SFRe[247];
    I = SFIm[247];
    SFRe[247] = R * RF2 - I * IF2;
    SFIm[247] = R * IF2 + I * RF2;
    R = SFRe[247];
    I = SFIm[247];
    SFRe[247] = SFIm[245] - I;
    SFIm[247] = R - SFRe[245];
    SFRe[245] += R;
    SFIm[245] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 240), _mm_load_ps(SFRe + 244));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 240), _mm_load_ps(SFIm + 244));
    _mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_load_ps(SFRe + 240), _mm_load_ps(SFRe + 244)));
    _mm_store_ps(SFIm + 244, _mm_sub_ps(_mm_load_ps(SFIm + 240), _mm_load_ps(SFIm + 244)));
    _mm_store_ps(SFRe + 240, mR);
    _mm_store_ps(SFIm + 240, mI);
    mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
    mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
    mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
    mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
    mR = _mm_load_ps(SFRe + 248);
    mI = _mm_load_ps(SFIm + 248);
    _mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 248, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 252);
    mI = _mm_load_ps(SFIm + 252);
    _mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 252, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 252);
    mI = _mm_load_ps(SFIm + 252);
    _mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_load_ps(SFIm + 248), mI));
    _mm_store_ps(SFIm + 252, _mm_sub_ps(mR, _mm_load_ps(SFRe + 248)));
    _mm_store_ps(SFRe + 248, _mm_add_ps(_mm_load_ps(SFRe + 248), mR));
    _mm_store_ps(SFIm + 248, _mm_add_ps(_mm_load_ps(SFIm + 248), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 240), _mm_load_ps(SFRe + 248));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 240), _mm_load_ps(SFIm + 248));
    _mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_load_ps(SFRe + 240), _mm_load_ps(SFRe + 248)));
    _mm_store_ps(SFIm + 248, _mm_sub_ps(_mm_load_ps(SFIm + 240), _mm_load_ps(SFIm + 248)));
    _mm_store_ps(SFRe + 240, mR);
    _mm_store_ps(SFIm + 240, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 244), _mm_load_ps(SFRe + 252));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 244), _mm_load_ps(SFIm + 252));
    _mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_load_ps(SFRe + 244), _mm_load_ps(SFRe + 252)));
    _mm_store_ps(SFIm + 252, _mm_sub_ps(_mm_load_ps(SFIm + 244), _mm_load_ps(SFIm + 252)));
    _mm_store_ps(SFRe + 244, mR);
    _mm_store_ps(SFIm + 244, mI);
    Re0 = SFRe[236]; Im0 = SFIm[236];
    Re1 = SFRe[237]; Im1 = SFIm[237];
    Re2 = SFRe[238]; Im2 = SFIm[238];
    Re3 = SFRe[239]; Im3 = SFIm[239];
    SFRe[236] = Re0 + Re1; SFIm[236] = Im0 + Im1;
    SFRe[237] = Re0 - Re1; SFIm[237] = Im0 - Im1;
    SFRe[238] = Re2 + Re3; SFIm[238] = Im2 + Im3;
    SFRe[239] = Im2 - Im3; SFIm[239] = Re3 - Re2;
    RA = SFRe[236] + SFRe[238];
    IA = SFIm[236] + SFIm[238];
    SFRe[238] = SFRe[236] - SFRe[238];
    SFIm[238] = SFIm[236] - SFIm[238];
    SFRe[236] = RA;
    SFIm[236] = IA;
    RA = SFRe[237] + SFRe[239];
    IA = SFIm[237] + SFIm[239];
    SFRe[239] = SFRe[237] - SFRe[239];
    SFIm[239] = SFIm[237] - SFIm[239];
    SFRe[237] = RA;
    SFIm[237] = IA;
    Re0 = SFRe[232]; Im0 = SFIm[232];
    Re1 = SFRe[233]; Im1 = SFIm[233];
    Re2 = SFRe[234]; Im2 = SFIm[234];
    Re3 = SFRe[235]; Im3 = SFIm[235];
    SFRe[232] = Re0 + Re1; SFIm[232] = Im0 + Im1;
    SFRe[233] = Re0 - Re1; SFIm[233] = Im0 - Im1;
    SFRe[234] = Re2 + Re3; SFIm[234] = Im2 + Im3;
    SFRe[235] = Im2 - Im3; SFIm[235] = Re3 - Re2;
    RA = SFRe[232] + SFRe[234];
    IA = SFIm[232] + SFIm[234];
    SFRe[234] = SFRe[232] - SFRe[234];
    SFIm[234] = SFIm[232] - SFIm[234];
    SFRe[232] = RA;
    SFIm[232] = IA;
    RA = SFRe[233] + SFRe[235];
    IA = SFIm[233] + SFIm[235];
    SFRe[235] = SFRe[233] - SFRe[235];
    SFIm[235] = SFIm[233] - SFIm[235];
    SFRe[233] = RA;
    SFIm[233] = IA;
    R = SFRe[230] + SFRe[231];
    I = SFIm[230] + SFIm[231];
    SFRe[231] = SFRe[230] - SFRe[231];
    SFIm[231] = SFIm[230] - SFIm[231];
    SFRe[230] = R;
    SFIm[230] = I;
    R = SFRe[228] + SFRe[229];
    I = SFIm[228] + SFIm[229];
    SFRe[229] = SFRe[228] - SFRe[229];
    SFIm[229] = SFIm[228] - SFIm[229];
    SFRe[228] = R;
    SFIm[228] = I;
    Re0 = SFRe[224]; Im0 = SFIm[224];
    Re1 = SFRe[225]; Im1 = SFIm[225];
    Re2 = SFRe[226]; Im2 = SFIm[226];
    Re3 = SFRe[227]; Im3 = SFIm[227];
    SFRe[224] = Re0 + Re1; SFIm[224] = Im0 + Im1;
    SFRe[225] = Re0 - Re1; SFIm[225] = Im0 - Im1;
    SFRe[226] = Re2 + Re3; SFIm[226] = Im2 + Im3;
    SFRe[227] = Im2 - Im3; SFIm[227] = Re3 - Re2;
    RA = SFRe[224] + SFRe[226];
    IA = SFIm[224] + SFIm[226];
    SFRe[226] = SFRe[224] - SFRe[226];
    SFIm[226] = SFIm[224] - SFIm[226];
    SFRe[224] = RA;
    SFIm[224] = IA;
    RA = SFRe[225] + SFRe[227];
    IA = SFIm[225] + SFIm[227];
    SFRe[227] = SFRe[225] - SFRe[227];
    SFIm[227] = SFIm[225] - SFIm[227];
    SFRe[225] = RA;
    SFIm[225] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[228];
    I = SFIm[228];
    SFRe[228] = R * RF1 - I * IF1;
    SFIm[228] = R * IF1 + I * RF1;
    R = SFRe[230];
    I = SFIm[230];
    SFRe[230] = R * RF2 - I * IF2;
    SFIm[230] = R * IF2 + I * RF2;
    R = SFRe[230];
    I = SFIm[230];
    SFRe[230] = SFIm[228] - I;
    SFIm[230] = R - SFRe[228];
    SFRe[228] += R;
    SFIm[228] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[229];
    I = SFIm[229];
    SFRe[229] = R * RF1 - I * IF1;
    SFIm[229] = R * IF1 + I * RF1;
    R = SFRe[231];
    I = SFIm[231];
    SFRe[231] = R * RF2 - I * IF2;
    SFIm[231] = R * IF2 + I * RF2;
    R = SFRe[231];
    I = SFIm[231];
    SFRe[231] = SFIm[229] - I;
    SFIm[231] = R - SFRe[229];
    SFRe[229] += R;
    SFIm[229] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 224), _mm_load_ps(SFRe + 228));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 224), _mm_load_ps(SFIm + 228));
    _mm_store_ps(SFRe + 228, _mm_sub_ps(_mm_load_ps(SFRe + 224), _mm_load_ps(SFRe + 228)));
    _mm_store_ps(SFIm + 228, _mm_sub_ps(_mm_load_ps(SFIm + 224), _mm_load_ps(SFIm + 228)));
    _mm_store_ps(SFRe + 224, mR);
    _mm_store_ps(SFIm + 224, mI);
    mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
    mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
    mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
    mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
    mR = _mm_load_ps(SFRe + 232);
    mI = _mm_load_ps(SFIm + 232);
    _mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 232, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 236);
    mI = _mm_load_ps(SFIm + 236);
    _mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 236, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 236);
    mI = _mm_load_ps(SFIm + 236);
    _mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_load_ps(SFIm + 232), mI));
    _mm_store_ps(SFIm + 236, _mm_sub_ps(mR, _mm_load_ps(SFRe + 232)));
    _mm_store_ps(SFRe + 232, _mm_add_ps(_mm_load_ps(SFRe + 232), mR));
    _mm_store_ps(SFIm + 232, _mm_add_ps(_mm_load_ps(SFIm + 232), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 224), _mm_load_ps(SFRe + 232));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 224), _mm_load_ps(SFIm + 232));
    _mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_load_ps(SFRe + 224), _mm_load_ps(SFRe + 232)));
    _mm_store_ps(SFIm + 232, _mm_sub_ps(_mm_load_ps(SFIm + 224), _mm_load_ps(SFIm + 232)));
    _mm_store_ps(SFRe + 224, mR);
    _mm_store_ps(SFIm + 224, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 228), _mm_load_ps(SFRe + 236));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 228), _mm_load_ps(SFIm + 236));
    _mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_load_ps(SFRe + 228), _mm_load_ps(SFRe + 236)));
    _mm_store_ps(SFIm + 236, _mm_sub_ps(_mm_load_ps(SFIm + 228), _mm_load_ps(SFIm + 236)));
    _mm_store_ps(SFRe + 228, mR);
    _mm_store_ps(SFIm + 228, mI);
    R = SFRe[222] + SFRe[223];
    I = SFIm[222] + SFIm[223];
    SFRe[223] = SFRe[222] - SFRe[223];
    SFIm[223] = SFIm[222] - SFIm[223];
    SFRe[222] = R;
    SFIm[222] = I;
    R = SFRe[220] + SFRe[221];
    I = SFIm[220] + SFIm[221];
    SFRe[221] = SFRe[220] - SFRe[221];
    SFIm[221] = SFIm[220] - SFIm[221];
    SFRe[220] = R;
    SFIm[220] = I;
    Re0 = SFRe[216]; Im0 = SFIm[216];
    Re1 = SFRe[217]; Im1 = SFIm[217];
    Re2 = SFRe[218]; Im2 = SFIm[218];
    Re3 = SFRe[219]; Im3 = SFIm[219];
    SFRe[216] = Re0 + Re1; SFIm[216] = Im0 + Im1;
    SFRe[217] = Re0 - Re1; SFIm[217] = Im0 - Im1;
    SFRe[218] = Re2 + Re3; SFIm[218] = Im2 + Im3;
    SFRe[219] = Im2 - Im3; SFIm[219] = Re3 - Re2;
    RA = SFRe[216] + SFRe[218];
    IA = SFIm[216] + SFIm[218];
    SFRe[218] = SFRe[216] - SFRe[218];
    SFIm[218] = SFIm[216] - SFIm[218];
    SFRe[216] = RA;
    SFIm[216] = IA;
    RA = SFRe[217] + SFRe[219];
    IA = SFIm[217] + SFIm[219];
    SFRe[219] = SFRe[217] - SFRe[219];
    SFIm[219] = SFIm[217] - SFIm[219];
    SFRe[217] = RA;
    SFIm[217] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[220];
    I = SFIm[220];
    SFRe[220] = R * RF1 - I * IF1;
    SFIm[220] = R * IF1 + I * RF1;
    R = SFRe[222];
    I = SFIm[222];
    SFRe[222] = R * RF2 - I * IF2;
    SFIm[222] = R * IF2 + I * RF2;
    R = SFRe[222];
    I = SFIm[222];
    SFRe[222] = SFIm[220] - I;
    SFIm[222] = R - SFRe[220];
    SFRe[220] += R;
    SFIm[220] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[221];
    I = SFIm[221];
    SFRe[221] = R * RF1 - I * IF1;
    SFIm[221] = R * IF1 + I * RF1;
    R = SFRe[223];
    I = SFIm[223];
    SFRe[223] = R * RF2 - I * IF2;
    SFIm[223] = R * IF2 + I * RF2;
    R = SFRe[223];
    I = SFIm[223];
    SFRe[223] = SFIm[221] - I;
    SFIm[223] = R - SFRe[221];
    SFRe[221] += R;
    SFIm[221] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 216), _mm_load_ps(SFRe + 220));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 216), _mm_load_ps(SFIm + 220));
    _mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_load_ps(SFRe + 216), _mm_load_ps(SFRe + 220)));
    _mm_store_ps(SFIm + 220, _mm_sub_ps(_mm_load_ps(SFIm + 216), _mm_load_ps(SFIm + 220)));
    _mm_store_ps(SFRe + 216, mR);
    _mm_store_ps(SFIm + 216, mI);
    R = SFRe[214] + SFRe[215];
    I = SFIm[214] + SFIm[215];
    SFRe[215] = SFRe[214] - SFRe[215];
    SFIm[215] = SFIm[214] - SFIm[215];
    SFRe[214] = R;
    SFIm[214] = I;
    R = SFRe[212] + SFRe[213];
    I = SFIm[212] + SFIm[213];
    SFRe[213] = SFRe[212] - SFRe[213];
    SFIm[213] = SFIm[212] - SFIm[213];
    SFRe[212] = R;
    SFIm[212] = I;
    Re0 = SFRe[208]; Im0 = SFIm[208];
    Re1 = SFRe[209]; Im1 = SFIm[209];
    Re2 = SFRe[210]; Im2 = SFIm[210];
    Re3 = SFRe[211]; Im3 = SFIm[211];
    SFRe[208] = Re0 + Re1; SFIm[208] = Im0 + Im1;
    SFRe[209] = Re0 - Re1; SFIm[209] = Im0 - Im1;
    SFRe[210] = Re2 + Re3; SFIm[210] = Im2 + Im3;
    SFRe[211] = Im2 - Im3; SFIm[211] = Re3 - Re2;
    RA = SFRe[208] + SFRe[210];
    IA = SFIm[208] + SFIm[210];
    SFRe[210] = SFRe[208] - SFRe[210];
    SFIm[210] = SFIm[208] - SFIm[210];
    SFRe[208] = RA;
    SFIm[208] = IA;
    RA = SFRe[209] + SFRe[211];
    IA = SFIm[209] + SFIm[211];
    SFRe[211] = SFRe[209] - SFRe[211];
    SFIm[211] = SFIm[209] - SFIm[211];
    SFRe[209] = RA;
    SFIm[209] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[212];
    I = SFIm[212];
    SFRe[212] = R * RF1 - I * IF1;
    SFIm[212] = R * IF1 + I * RF1;
    R = SFRe[214];
    I = SFIm[214];
    SFRe[214] = R * RF2 - I * IF2;
    SFIm[214] = R * IF2 + I * RF2;
    R = SFRe[214];
    I = SFIm[214];
    SFRe[214] = SFIm[212] - I;
    SFIm[214] = R - SFRe[212];
    SFRe[212] += R;
    SFIm[212] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[213];
    I = SFIm[213];
    SFRe[213] = R * RF1 - I * IF1;
    SFIm[213] = R * IF1 + I * RF1;
    R = SFRe[215];
    I = SFIm[215];
    SFRe[215] = R * RF2 - I * IF2;
    SFIm[215] = R * IF2 + I * RF2;
    R = SFRe[215];
    I = SFIm[215];
    SFRe[215] = SFIm[213] - I;
    SFIm[215] = R - SFRe[213];
    SFRe[213] += R;
    SFIm[213] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 208), _mm_load_ps(SFRe + 212));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 208), _mm_load_ps(SFIm + 212));
    _mm_store_ps(SFRe + 212, _mm_sub_ps(_mm_load_ps(SFRe + 208), _mm_load_ps(SFRe + 212)));
    _mm_store_ps(SFIm + 212, _mm_sub_ps(_mm_load_ps(SFIm + 208), _mm_load_ps(SFIm + 212)));
    _mm_store_ps(SFRe + 208, mR);
    _mm_store_ps(SFIm + 208, mI);
    Re0 = SFRe[204]; Im0 = SFIm[204];
    Re1 = SFRe[205]; Im1 = SFIm[205];
    Re2 = SFRe[206]; Im2 = SFIm[206];
    Re3 = SFRe[207]; Im3 = SFIm[207];
    SFRe[204] = Re0 + Re1; SFIm[204] = Im0 + Im1;
    SFRe[205] = Re0 - Re1; SFIm[205] = Im0 - Im1;
    SFRe[206] = Re2 + Re3; SFIm[206] = Im2 + Im3;
    SFRe[207] = Im2 - Im3; SFIm[207] = Re3 - Re2;
    RA = SFRe[204] + SFRe[206];
    IA = SFIm[204] + SFIm[206];
    SFRe[206] = SFRe[204] - SFRe[206];
    SFIm[206] = SFIm[204] - SFIm[206];
    SFRe[204] = RA;
    SFIm[204] = IA;
    RA = SFRe[205] + SFRe[207];
    IA = SFIm[205] + SFIm[207];
    SFRe[207] = SFRe[205] - SFRe[207];
    SFIm[207] = SFIm[205] - SFIm[207];
    SFRe[205] = RA;
    SFIm[205] = IA;
    Re0 = SFRe[200]; Im0 = SFIm[200];
    Re1 = SFRe[201]; Im1 = SFIm[201];
    Re2 = SFRe[202]; Im2 = SFIm[202];
    Re3 = SFRe[203]; Im3 = SFIm[203];
    SFRe[200] = Re0 + Re1; SFIm[200] = Im0 + Im1;
    SFRe[201] = Re0 - Re1; SFIm[201] = Im0 - Im1;
    SFRe[202] = Re2 + Re3; SFIm[202] = Im2 + Im3;
    SFRe[203] = Im2 - Im3; SFIm[203] = Re3 - Re2;
    RA = SFRe[200] + SFRe[202];
    IA = SFIm[200] + SFIm[202];
    SFRe[202] = SFRe[200] - SFRe[202];
    SFIm[202] = SFIm[200] - SFIm[202];
    SFRe[200] = RA;
    SFIm[200] = IA;
    RA = SFRe[201] + SFRe[203];
    IA = SFIm[201] + SFIm[203];
    SFRe[203] = SFRe[201] - SFRe[203];
    SFIm[203] = SFIm[201] - SFIm[203];
    SFRe[201] = RA;
    SFIm[201] = IA;
    R = SFRe[198] + SFRe[199];
    I = SFIm[198] + SFIm[199];
    SFRe[199] = SFRe[198] - SFRe[199];
    SFIm[199] = SFIm[198] - SFIm[199];
    SFRe[198] = R;
    SFIm[198] = I;
    R = SFRe[196] + SFRe[197];
    I = SFIm[196] + SFIm[197];
    SFRe[197] = SFRe[196] - SFRe[197];
    SFIm[197] = SFIm[196] - SFIm[197];
    SFRe[196] = R;
    SFIm[196] = I;
    Re0 = SFRe[192]; Im0 = SFIm[192];
    Re1 = SFRe[193]; Im1 = SFIm[193];
    Re2 = SFRe[194]; Im2 = SFIm[194];
    Re3 = SFRe[195]; Im3 = SFIm[195];
    SFRe[192] = Re0 + Re1; SFIm[192] = Im0 + Im1;
    SFRe[193] = Re0 - Re1; SFIm[193] = Im0 - Im1;
    SFRe[194] = Re2 + Re3; SFIm[194] = Im2 + Im3;
    SFRe[195] = Im2 - Im3; SFIm[195] = Re3 - Re2;
    RA = SFRe[192] + SFRe[194];
    IA = SFIm[192] + SFIm[194];
    SFRe[194] = SFRe[192] - SFRe[194];
    SFIm[194] = SFIm[192] - SFIm[194];
    SFRe[192] = RA;
    SFIm[192] = IA;
    RA = SFRe[193] + SFRe[195];
    IA = SFIm[193] + SFIm[195];
    SFRe[195] = SFRe[193] - SFRe[195];
    SFIm[195] = SFIm[193] - SFIm[195];
    SFRe[193] = RA;
    SFIm[193] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[196];
    I = SFIm[196];
    SFRe[196] = R * RF1 - I * IF1;
    SFIm[196] = R * IF1 + I * RF1;
    R = SFRe[198];
    I = SFIm[198];
    SFRe[198] = R * RF2 - I * IF2;
    SFIm[198] = R * IF2 + I * RF2;
    R = SFRe[198];
    I = SFIm[198];
    SFRe[198] = SFIm[196] - I;
    SFIm[198] = R - SFRe[196];
    SFRe[196] += R;
    SFIm[196] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[197];
    I = SFIm[197];
    SFRe[197] = R * RF1 - I * IF1;
    SFIm[197] = R * IF1 + I * RF1;
    R = SFRe[199];
    I = SFIm[199];
    SFRe[199] = R * RF2 - I * IF2;
    SFIm[199] = R * IF2 + I * RF2;
    R = SFRe[199];
    I = SFIm[199];
    SFRe[199] = SFIm[197] - I;
    SFIm[199] = R - SFRe[197];
    SFRe[197] += R;
    SFIm[197] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 196));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 196));
    _mm_store_ps(SFRe + 196, _mm_sub_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 196)));
    _mm_store_ps(SFIm + 196, _mm_sub_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 196)));
    _mm_store_ps(SFRe + 192, mR);
    _mm_store_ps(SFIm + 192, mI);
    mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
    mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
    mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
    mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
    mR = _mm_load_ps(SFRe + 200);
    mI = _mm_load_ps(SFIm + 200);
    _mm_store_ps(SFRe + 200, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 200, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 204);
    mI = _mm_load_ps(SFIm + 204);
    _mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 204, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 204);
    mI = _mm_load_ps(SFIm + 204);
    _mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_load_ps(SFIm + 200), mI));
    _mm_store_ps(SFIm + 204, _mm_sub_ps(mR, _mm_load_ps(SFRe + 200)));
    _mm_store_ps(SFRe + 200, _mm_add_ps(_mm_load_ps(SFRe + 200), mR));
    _mm_store_ps(SFIm + 200, _mm_add_ps(_mm_load_ps(SFIm + 200), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 200));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 200));
    _mm_store_ps(SFRe + 200, _mm_sub_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 200)));
    _mm_store_ps(SFIm + 200, _mm_sub_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 200)));
    _mm_store_ps(SFRe + 192, mR);
    _mm_store_ps(SFIm + 192, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 196), _mm_load_ps(SFRe + 204));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 196), _mm_load_ps(SFIm + 204));
    _mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_load_ps(SFRe + 196), _mm_load_ps(SFRe + 204)));
    _mm_store_ps(SFIm + 204, _mm_sub_ps(_mm_load_ps(SFIm + 196), _mm_load_ps(SFIm + 204)));
    _mm_store_ps(SFRe + 196, mR);
    _mm_store_ps(SFIm + 196, mI);
    mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
    mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
    mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
    mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
    mR = _mm_load_ps(SFRe + 208);
    mI = _mm_load_ps(SFIm + 208);
    _mm_store_ps(SFRe + 208, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 208, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 216);
    mI = _mm_load_ps(SFIm + 216);
    _mm_store_ps(SFRe + 216, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 216, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 216);
    mI = _mm_load_ps(SFIm + 216);
    _mm_store_ps(SFRe + 216, _mm_sub_ps(_mm_load_ps(SFIm + 208), mI));
    _mm_store_ps(SFIm + 216, _mm_sub_ps(mR, _mm_load_ps(SFRe + 208)));
    _mm_store_ps(SFRe + 208, _mm_add_ps(_mm_load_ps(SFRe + 208), mR));
    _mm_store_ps(SFIm + 208, _mm_add_ps(_mm_load_ps(SFIm + 208), mI));
    mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
    mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
    mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
    mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
    mR = _mm_load_ps(SFRe + 212);
    mI = _mm_load_ps(SFIm + 212);
    _mm_store_ps(SFRe + 212, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 212, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 220);
    mI = _mm_load_ps(SFIm + 220);
    _mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 220, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 220);
    mI = _mm_load_ps(SFIm + 220);
    _mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_load_ps(SFIm + 212), mI));
    _mm_store_ps(SFIm + 220, _mm_sub_ps(mR, _mm_load_ps(SFRe + 212)));
    _mm_store_ps(SFRe + 212, _mm_add_ps(_mm_load_ps(SFRe + 212), mR));
    _mm_store_ps(SFIm + 212, _mm_add_ps(_mm_load_ps(SFIm + 212), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 208));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 208));
    _mm_store_ps(SFRe + 208, _mm_sub_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 208)));
    _mm_store_ps(SFIm + 208, _mm_sub_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 208)));
    _mm_store_ps(SFRe + 192, mR);
    _mm_store_ps(SFIm + 192, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 196), _mm_load_ps(SFRe + 212));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 196), _mm_load_ps(SFIm + 212));
    _mm_store_ps(SFRe + 212, _mm_sub_ps(_mm_load_ps(SFRe + 196), _mm_load_ps(SFRe + 212)));
    _mm_store_ps(SFIm + 212, _mm_sub_ps(_mm_load_ps(SFIm + 196), _mm_load_ps(SFIm + 212)));
    _mm_store_ps(SFRe + 196, mR);
    _mm_store_ps(SFIm + 196, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 200), _mm_load_ps(SFRe + 216));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 200), _mm_load_ps(SFIm + 216));
    _mm_store_ps(SFRe + 216, _mm_sub_ps(_mm_load_ps(SFRe + 200), _mm_load_ps(SFRe + 216)));
    _mm_store_ps(SFIm + 216, _mm_sub_ps(_mm_load_ps(SFIm + 200), _mm_load_ps(SFIm + 216)));
    _mm_store_ps(SFRe + 200, mR);
    _mm_store_ps(SFIm + 200, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 204), _mm_load_ps(SFRe + 220));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 204), _mm_load_ps(SFIm + 220));
    _mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_load_ps(SFRe + 204), _mm_load_ps(SFRe + 220)));
    _mm_store_ps(SFIm + 220, _mm_sub_ps(_mm_load_ps(SFIm + 204), _mm_load_ps(SFIm + 220)));
    _mm_store_ps(SFRe + 204, mR);
    _mm_store_ps(SFIm + 204, mI);
    mRF1 = _mm_set_ps(0.956946, 0.980794, 0.995187, 1.000000);
    mIF1 = _mm_set_ps(-0.290265, -0.195044, -0.097994, -0.000000);
    mRF2 = _mm_set_ps(0.634402, 0.831492, 0.956946, 1.000000);
    mIF2 = _mm_set_ps(-0.773004, -0.555536, -0.290265, -0.000000);
    mR = _mm_load_ps(SFRe + 224);
    mI = _mm_load_ps(SFIm + 224);
    _mm_store_ps(SFRe + 224, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 224, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 240);
    mI = _mm_load_ps(SFIm + 240);
    _mm_store_ps(SFRe + 240, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 240, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 240);
    mI = _mm_load_ps(SFIm + 240);
    _mm_store_ps(SFRe + 240, _mm_sub_ps(_mm_load_ps(SFIm + 224), mI));
    _mm_store_ps(SFIm + 240, _mm_sub_ps(mR, _mm_load_ps(SFRe + 224)));
    _mm_store_ps(SFRe + 224, _mm_add_ps(_mm_load_ps(SFRe + 224), mR));
    _mm_store_ps(SFIm + 224, _mm_add_ps(_mm_load_ps(SFIm + 224), mI));
    mRF1 = _mm_set_ps(0.773019, 0.831492, 0.881929, 0.923896);
    mIF1 = _mm_set_ps(-0.634382, -0.555536, -0.471382, -0.382643);
    mRF2 = _mm_set_ps(-0.471404, -0.195069, 0.098019, 0.382712);
    mIF2 = _mm_set_ps(-0.881918, -0.980790, -0.995185, -0.923868);
    mR = _mm_load_ps(SFRe + 228);
    mI = _mm_load_ps(SFIm + 228);
    _mm_store_ps(SFRe + 228, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 228, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 244);
    mI = _mm_load_ps(SFIm + 244);
    _mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 244, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 244);
    mI = _mm_load_ps(SFIm + 244);
    _mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_load_ps(SFIm + 228), mI));
    _mm_store_ps(SFIm + 244, _mm_sub_ps(mR, _mm_load_ps(SFRe + 228)));
    _mm_store_ps(SFRe + 228, _mm_add_ps(_mm_load_ps(SFRe + 228), mR));
    _mm_store_ps(SFIm + 228, _mm_add_ps(_mm_load_ps(SFIm + 228), mI));
    mRF1 = _mm_set_ps(0.471404, 0.555599, 0.634402, 0.707133);
    mIF1 = _mm_set_ps(-0.881918, -0.831451, -0.773004, -0.707080);
    mRF2 = _mm_set_ps(-0.995187, -0.980785, -0.881929, -0.707098);
    mIF2 = _mm_set_ps(0.097994, -0.195093, -0.471382, -0.707116);
    mR = _mm_load_ps(SFRe + 232);
    mI = _mm_load_ps(SFIm + 232);
    _mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 232, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 248);
    mI = _mm_load_ps(SFIm + 248);
    _mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 248, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 248);
    mI = _mm_load_ps(SFIm + 248);
    _mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_load_ps(SFIm + 232), mI));
    _mm_store_ps(SFIm + 248, _mm_sub_ps(mR, _mm_load_ps(SFRe + 232)));
    _mm_store_ps(SFRe + 232, _mm_add_ps(_mm_load_ps(SFRe + 232), mR));
    _mm_store_ps(SFIm + 232, _mm_add_ps(_mm_load_ps(SFIm + 232), mI));
    mRF1 = _mm_set_ps(0.098019, 0.195118, 0.290289, 0.382712);
    mIF1 = _mm_set_ps(-0.995185, -0.980780, -0.956939, -0.923868);
    mRF2 = _mm_set_ps(-0.290289, -0.555599, -0.773019, -0.923896);
    mIF2 = _mm_set_ps(0.956939, 0.831451, 0.634382, 0.382643);
    mR = _mm_load_ps(SFRe + 236);
    mI = _mm_load_ps(SFIm + 236);
    _mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 236, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 252);
    mI = _mm_load_ps(SFIm + 252);
    _mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 252, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 252);
    mI = _mm_load_ps(SFIm + 252);
    _mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_load_ps(SFIm + 236), mI));
    _mm_store_ps(SFIm + 252, _mm_sub_ps(mR, _mm_load_ps(SFRe + 236)));
    _mm_store_ps(SFRe + 236, _mm_add_ps(_mm_load_ps(SFRe + 236), mR));
    _mm_store_ps(SFIm + 236, _mm_add_ps(_mm_load_ps(SFIm + 236), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 224));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 224));
    _mm_store_ps(SFRe + 224, _mm_sub_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 224)));
    _mm_store_ps(SFIm + 224, _mm_sub_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 224)));
    _mm_store_ps(SFRe + 192, mR);
    _mm_store_ps(SFIm + 192, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 196), _mm_load_ps(SFRe + 228));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 196), _mm_load_ps(SFIm + 228));
    _mm_store_ps(SFRe + 228, _mm_sub_ps(_mm_load_ps(SFRe + 196), _mm_load_ps(SFRe + 228)));
    _mm_store_ps(SFIm + 228, _mm_sub_ps(_mm_load_ps(SFIm + 196), _mm_load_ps(SFIm + 228)));
    _mm_store_ps(SFRe + 196, mR);
    _mm_store_ps(SFIm + 196, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 200), _mm_load_ps(SFRe + 232));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 200), _mm_load_ps(SFIm + 232));
    _mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_load_ps(SFRe + 200), _mm_load_ps(SFRe + 232)));
    _mm_store_ps(SFIm + 232, _mm_sub_ps(_mm_load_ps(SFIm + 200), _mm_load_ps(SFIm + 232)));
    _mm_store_ps(SFRe + 200, mR);
    _mm_store_ps(SFIm + 200, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 204), _mm_load_ps(SFRe + 236));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 204), _mm_load_ps(SFIm + 236));
    _mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_load_ps(SFRe + 204), _mm_load_ps(SFRe + 236)));
    _mm_store_ps(SFIm + 236, _mm_sub_ps(_mm_load_ps(SFIm + 204), _mm_load_ps(SFIm + 236)));
    _mm_store_ps(SFRe + 204, mR);
    _mm_store_ps(SFIm + 204, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 208), _mm_load_ps(SFRe + 240));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 208), _mm_load_ps(SFIm + 240));
    _mm_store_ps(SFRe + 240, _mm_sub_ps(_mm_load_ps(SFRe + 208), _mm_load_ps(SFRe + 240)));
    _mm_store_ps(SFIm + 240, _mm_sub_ps(_mm_load_ps(SFIm + 208), _mm_load_ps(SFIm + 240)));
    _mm_store_ps(SFRe + 208, mR);
    _mm_store_ps(SFIm + 208, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 212), _mm_load_ps(SFRe + 244));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 212), _mm_load_ps(SFIm + 244));
    _mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_load_ps(SFRe + 212), _mm_load_ps(SFRe + 244)));
    _mm_store_ps(SFIm + 244, _mm_sub_ps(_mm_load_ps(SFIm + 212), _mm_load_ps(SFIm + 244)));
    _mm_store_ps(SFRe + 212, mR);
    _mm_store_ps(SFIm + 212, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 216), _mm_load_ps(SFRe + 248));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 216), _mm_load_ps(SFIm + 248));
    _mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_load_ps(SFRe + 216), _mm_load_ps(SFRe + 248)));
    _mm_store_ps(SFIm + 248, _mm_sub_ps(_mm_load_ps(SFIm + 216), _mm_load_ps(SFIm + 248)));
    _mm_store_ps(SFRe + 216, mR);
    _mm_store_ps(SFIm + 216, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 220), _mm_load_ps(SFRe + 252));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 220), _mm_load_ps(SFIm + 252));
    _mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_load_ps(SFRe + 220), _mm_load_ps(SFRe + 252)));
    _mm_store_ps(SFIm + 252, _mm_sub_ps(_mm_load_ps(SFIm + 220), _mm_load_ps(SFIm + 252)));
    _mm_store_ps(SFRe + 220, mR);
    _mm_store_ps(SFIm + 220, mI);
    Re0 = SFRe[188]; Im0 = SFIm[188];
    Re1 = SFRe[189]; Im1 = SFIm[189];
    Re2 = SFRe[190]; Im2 = SFIm[190];
    Re3 = SFRe[191]; Im3 = SFIm[191];
    SFRe[188] = Re0 + Re1; SFIm[188] = Im0 + Im1;
    SFRe[189] = Re0 - Re1; SFIm[189] = Im0 - Im1;
    SFRe[190] = Re2 + Re3; SFIm[190] = Im2 + Im3;
    SFRe[191] = Im2 - Im3; SFIm[191] = Re3 - Re2;
    RA = SFRe[188] + SFRe[190];
    IA = SFIm[188] + SFIm[190];
    SFRe[190] = SFRe[188] - SFRe[190];
    SFIm[190] = SFIm[188] - SFIm[190];
    SFRe[188] = RA;
    SFIm[188] = IA;
    RA = SFRe[189] + SFRe[191];
    IA = SFIm[189] + SFIm[191];
    SFRe[191] = SFRe[189] - SFRe[191];
    SFIm[191] = SFIm[189] - SFIm[191];
    SFRe[189] = RA;
    SFIm[189] = IA;
    Re0 = SFRe[184]; Im0 = SFIm[184];
    Re1 = SFRe[185]; Im1 = SFIm[185];
    Re2 = SFRe[186]; Im2 = SFIm[186];
    Re3 = SFRe[187]; Im3 = SFIm[187];
    SFRe[184] = Re0 + Re1; SFIm[184] = Im0 + Im1;
    SFRe[185] = Re0 - Re1; SFIm[185] = Im0 - Im1;
    SFRe[186] = Re2 + Re3; SFIm[186] = Im2 + Im3;
    SFRe[187] = Im2 - Im3; SFIm[187] = Re3 - Re2;
    RA = SFRe[184] + SFRe[186];
    IA = SFIm[184] + SFIm[186];
    SFRe[186] = SFRe[184] - SFRe[186];
    SFIm[186] = SFIm[184] - SFIm[186];
    SFRe[184] = RA;
    SFIm[184] = IA;
    RA = SFRe[185] + SFRe[187];
    IA = SFIm[185] + SFIm[187];
    SFRe[187] = SFRe[185] - SFRe[187];
    SFIm[187] = SFIm[185] - SFIm[187];
    SFRe[185] = RA;
    SFIm[185] = IA;
    R = SFRe[182] + SFRe[183];
    I = SFIm[182] + SFIm[183];
    SFRe[183] = SFRe[182] - SFRe[183];
    SFIm[183] = SFIm[182] - SFIm[183];
    SFRe[182] = R;
    SFIm[182] = I;
    R = SFRe[180] + SFRe[181];
    I = SFIm[180] + SFIm[181];
    SFRe[181] = SFRe[180] - SFRe[181];
    SFIm[181] = SFIm[180] - SFIm[181];
    SFRe[180] = R;
    SFIm[180] = I;
    Re0 = SFRe[176]; Im0 = SFIm[176];
    Re1 = SFRe[177]; Im1 = SFIm[177];
    Re2 = SFRe[178]; Im2 = SFIm[178];
    Re3 = SFRe[179]; Im3 = SFIm[179];
    SFRe[176] = Re0 + Re1; SFIm[176] = Im0 + Im1;
    SFRe[177] = Re0 - Re1; SFIm[177] = Im0 - Im1;
    SFRe[178] = Re2 + Re3; SFIm[178] = Im2 + Im3;
    SFRe[179] = Im2 - Im3; SFIm[179] = Re3 - Re2;
    RA = SFRe[176] + SFRe[178];
    IA = SFIm[176] + SFIm[178];
    SFRe[178] = SFRe[176] - SFRe[178];
    SFIm[178] = SFIm[176] - SFIm[178];
    SFRe[176] = RA;
    SFIm[176] = IA;
    RA = SFRe[177] + SFRe[179];
    IA = SFIm[177] + SFIm[179];
    SFRe[179] = SFRe[177] - SFRe[179];
    SFIm[179] = SFIm[177] - SFIm[179];
    SFRe[177] = RA;
    SFIm[177] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[180];
    I = SFIm[180];
    SFRe[180] = R * RF1 - I * IF1;
    SFIm[180] = R * IF1 + I * RF1;
    R = SFRe[182];
    I = SFIm[182];
    SFRe[182] = R * RF2 - I * IF2;
    SFIm[182] = R * IF2 + I * RF2;
    R = SFRe[182];
    I = SFIm[182];
    SFRe[182] = SFIm[180] - I;
    SFIm[182] = R - SFRe[180];
    SFRe[180] += R;
    SFIm[180] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[181];
    I = SFIm[181];
    SFRe[181] = R * RF1 - I * IF1;
    SFIm[181] = R * IF1 + I * RF1;
    R = SFRe[183];
    I = SFIm[183];
    SFRe[183] = R * RF2 - I * IF2;
    SFIm[183] = R * IF2 + I * RF2;
    R = SFRe[183];
    I = SFIm[183];
    SFRe[183] = SFIm[181] - I;
    SFIm[183] = R - SFRe[181];
    SFRe[181] += R;
    SFIm[181] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 176), _mm_load_ps(SFRe + 180));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 176), _mm_load_ps(SFIm + 180));
    _mm_store_ps(SFRe + 180, _mm_sub_ps(_mm_load_ps(SFRe + 176), _mm_load_ps(SFRe + 180)));
    _mm_store_ps(SFIm + 180, _mm_sub_ps(_mm_load_ps(SFIm + 176), _mm_load_ps(SFIm + 180)));
    _mm_store_ps(SFRe + 176, mR);
    _mm_store_ps(SFIm + 176, mI);
    mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
    mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
    mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
    mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
    mR = _mm_load_ps(SFRe + 184);
    mI = _mm_load_ps(SFIm + 184);
    _mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 184, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 188);
    mI = _mm_load_ps(SFIm + 188);
    _mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 188, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 188);
    mI = _mm_load_ps(SFIm + 188);
    _mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_load_ps(SFIm + 184), mI));
    _mm_store_ps(SFIm + 188, _mm_sub_ps(mR, _mm_load_ps(SFRe + 184)));
    _mm_store_ps(SFRe + 184, _mm_add_ps(_mm_load_ps(SFRe + 184), mR));
    _mm_store_ps(SFIm + 184, _mm_add_ps(_mm_load_ps(SFIm + 184), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 176), _mm_load_ps(SFRe + 184));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 176), _mm_load_ps(SFIm + 184));
    _mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_load_ps(SFRe + 176), _mm_load_ps(SFRe + 184)));
    _mm_store_ps(SFIm + 184, _mm_sub_ps(_mm_load_ps(SFIm + 176), _mm_load_ps(SFIm + 184)));
    _mm_store_ps(SFRe + 176, mR);
    _mm_store_ps(SFIm + 176, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 180), _mm_load_ps(SFRe + 188));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 180), _mm_load_ps(SFIm + 188));
    _mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_load_ps(SFRe + 180), _mm_load_ps(SFRe + 188)));
    _mm_store_ps(SFIm + 188, _mm_sub_ps(_mm_load_ps(SFIm + 180), _mm_load_ps(SFIm + 188)));
    _mm_store_ps(SFRe + 180, mR);
    _mm_store_ps(SFIm + 180, mI);
    Re0 = SFRe[172]; Im0 = SFIm[172];
    Re1 = SFRe[173]; Im1 = SFIm[173];
    Re2 = SFRe[174]; Im2 = SFIm[174];
    Re3 = SFRe[175]; Im3 = SFIm[175];
    SFRe[172] = Re0 + Re1; SFIm[172] = Im0 + Im1;
    SFRe[173] = Re0 - Re1; SFIm[173] = Im0 - Im1;
    SFRe[174] = Re2 + Re3; SFIm[174] = Im2 + Im3;
    SFRe[175] = Im2 - Im3; SFIm[175] = Re3 - Re2;
    RA = SFRe[172] + SFRe[174];
    IA = SFIm[172] + SFIm[174];
    SFRe[174] = SFRe[172] - SFRe[174];
    SFIm[174] = SFIm[172] - SFIm[174];
    SFRe[172] = RA;
    SFIm[172] = IA;
    RA = SFRe[173] + SFRe[175];
    IA = SFIm[173] + SFIm[175];
    SFRe[175] = SFRe[173] - SFRe[175];
    SFIm[175] = SFIm[173] - SFIm[175];
    SFRe[173] = RA;
    SFIm[173] = IA;
    Re0 = SFRe[168]; Im0 = SFIm[168];
    Re1 = SFRe[169]; Im1 = SFIm[169];
    Re2 = SFRe[170]; Im2 = SFIm[170];
    Re3 = SFRe[171]; Im3 = SFIm[171];
    SFRe[168] = Re0 + Re1; SFIm[168] = Im0 + Im1;
    SFRe[169] = Re0 - Re1; SFIm[169] = Im0 - Im1;
    SFRe[170] = Re2 + Re3; SFIm[170] = Im2 + Im3;
    SFRe[171] = Im2 - Im3; SFIm[171] = Re3 - Re2;
    RA = SFRe[168] + SFRe[170];
    IA = SFIm[168] + SFIm[170];
    SFRe[170] = SFRe[168] - SFRe[170];
    SFIm[170] = SFIm[168] - SFIm[170];
    SFRe[168] = RA;
    SFIm[168] = IA;
    RA = SFRe[169] + SFRe[171];
    IA = SFIm[169] + SFIm[171];
    SFRe[171] = SFRe[169] - SFRe[171];
    SFIm[171] = SFIm[169] - SFIm[171];
    SFRe[169] = RA;
    SFIm[169] = IA;
    R = SFRe[166] + SFRe[167];
    I = SFIm[166] + SFIm[167];
    SFRe[167] = SFRe[166] - SFRe[167];
    SFIm[167] = SFIm[166] - SFIm[167];
    SFRe[166] = R;
    SFIm[166] = I;
    R = SFRe[164] + SFRe[165];
    I = SFIm[164] + SFIm[165];
    SFRe[165] = SFRe[164] - SFRe[165];
    SFIm[165] = SFIm[164] - SFIm[165];
    SFRe[164] = R;
    SFIm[164] = I;
    Re0 = SFRe[160]; Im0 = SFIm[160];
    Re1 = SFRe[161]; Im1 = SFIm[161];
    Re2 = SFRe[162]; Im2 = SFIm[162];
    Re3 = SFRe[163]; Im3 = SFIm[163];
    SFRe[160] = Re0 + Re1; SFIm[160] = Im0 + Im1;
    SFRe[161] = Re0 - Re1; SFIm[161] = Im0 - Im1;
    SFRe[162] = Re2 + Re3; SFIm[162] = Im2 + Im3;
    SFRe[163] = Im2 - Im3; SFIm[163] = Re3 - Re2;
    RA = SFRe[160] + SFRe[162];
    IA = SFIm[160] + SFIm[162];
    SFRe[162] = SFRe[160] - SFRe[162];
    SFIm[162] = SFIm[160] - SFIm[162];
    SFRe[160] = RA;
    SFIm[160] = IA;
    RA = SFRe[161] + SFRe[163];
    IA = SFIm[161] + SFIm[163];
    SFRe[163] = SFRe[161] - SFRe[163];
    SFIm[163] = SFIm[161] - SFIm[163];
    SFRe[161] = RA;
    SFIm[161] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[164];
    I = SFIm[164];
    SFRe[164] = R * RF1 - I * IF1;
    SFIm[164] = R * IF1 + I * RF1;
    R = SFRe[166];
    I = SFIm[166];
    SFRe[166] = R * RF2 - I * IF2;
    SFIm[166] = R * IF2 + I * RF2;
    R = SFRe[166];
    I = SFIm[166];
    SFRe[166] = SFIm[164] - I;
    SFIm[166] = R - SFRe[164];
    SFRe[164] += R;
    SFIm[164] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[165];
    I = SFIm[165];
    SFRe[165] = R * RF1 - I * IF1;
    SFIm[165] = R * IF1 + I * RF1;
    R = SFRe[167];
    I = SFIm[167];
    SFRe[167] = R * RF2 - I * IF2;
    SFIm[167] = R * IF2 + I * RF2;
    R = SFRe[167];
    I = SFIm[167];
    SFRe[167] = SFIm[165] - I;
    SFIm[167] = R - SFRe[165];
    SFRe[165] += R;
    SFIm[165] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 160), _mm_load_ps(SFRe + 164));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 160), _mm_load_ps(SFIm + 164));
    _mm_store_ps(SFRe + 164, _mm_sub_ps(_mm_load_ps(SFRe + 160), _mm_load_ps(SFRe + 164)));
    _mm_store_ps(SFIm + 164, _mm_sub_ps(_mm_load_ps(SFIm + 160), _mm_load_ps(SFIm + 164)));
    _mm_store_ps(SFRe + 160, mR);
    _mm_store_ps(SFIm + 160, mI);
    mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
    mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
    mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
    mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
    mR = _mm_load_ps(SFRe + 168);
    mI = _mm_load_ps(SFIm + 168);
    _mm_store_ps(SFRe + 168, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 168, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 172);
    mI = _mm_load_ps(SFIm + 172);
    _mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 172, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 172);
    mI = _mm_load_ps(SFIm + 172);
    _mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_load_ps(SFIm + 168), mI));
    _mm_store_ps(SFIm + 172, _mm_sub_ps(mR, _mm_load_ps(SFRe + 168)));
    _mm_store_ps(SFRe + 168, _mm_add_ps(_mm_load_ps(SFRe + 168), mR));
    _mm_store_ps(SFIm + 168, _mm_add_ps(_mm_load_ps(SFIm + 168), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 160), _mm_load_ps(SFRe + 168));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 160), _mm_load_ps(SFIm + 168));
    _mm_store_ps(SFRe + 168, _mm_sub_ps(_mm_load_ps(SFRe + 160), _mm_load_ps(SFRe + 168)));
    _mm_store_ps(SFIm + 168, _mm_sub_ps(_mm_load_ps(SFIm + 160), _mm_load_ps(SFIm + 168)));
    _mm_store_ps(SFRe + 160, mR);
    _mm_store_ps(SFIm + 160, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 164), _mm_load_ps(SFRe + 172));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 164), _mm_load_ps(SFIm + 172));
    _mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_load_ps(SFRe + 164), _mm_load_ps(SFRe + 172)));
    _mm_store_ps(SFIm + 172, _mm_sub_ps(_mm_load_ps(SFIm + 164), _mm_load_ps(SFIm + 172)));
    _mm_store_ps(SFRe + 164, mR);
    _mm_store_ps(SFIm + 164, mI);
    R = SFRe[158] + SFRe[159];
    I = SFIm[158] + SFIm[159];
    SFRe[159] = SFRe[158] - SFRe[159];
    SFIm[159] = SFIm[158] - SFIm[159];
    SFRe[158] = R;
    SFIm[158] = I;
    R = SFRe[156] + SFRe[157];
    I = SFIm[156] + SFIm[157];
    SFRe[157] = SFRe[156] - SFRe[157];
    SFIm[157] = SFIm[156] - SFIm[157];
    SFRe[156] = R;
    SFIm[156] = I;
    Re0 = SFRe[152]; Im0 = SFIm[152];
    Re1 = SFRe[153]; Im1 = SFIm[153];
    Re2 = SFRe[154]; Im2 = SFIm[154];
    Re3 = SFRe[155]; Im3 = SFIm[155];
    SFRe[152] = Re0 + Re1; SFIm[152] = Im0 + Im1;
    SFRe[153] = Re0 - Re1; SFIm[153] = Im0 - Im1;
    SFRe[154] = Re2 + Re3; SFIm[154] = Im2 + Im3;
    SFRe[155] = Im2 - Im3; SFIm[155] = Re3 - Re2;
    RA = SFRe[152] + SFRe[154];
    IA = SFIm[152] + SFIm[154];
    SFRe[154] = SFRe[152] - SFRe[154];
    SFIm[154] = SFIm[152] - SFIm[154];
    SFRe[152] = RA;
    SFIm[152] = IA;
    RA = SFRe[153] + SFRe[155];
    IA = SFIm[153] + SFIm[155];
    SFRe[155] = SFRe[153] - SFRe[155];
    SFIm[155] = SFIm[153] - SFIm[155];
    SFRe[153] = RA;
    SFIm[153] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[156];
    I = SFIm[156];
    SFRe[156] = R * RF1 - I * IF1;
    SFIm[156] = R * IF1 + I * RF1;
    R = SFRe[158];
    I = SFIm[158];
    SFRe[158] = R * RF2 - I * IF2;
    SFIm[158] = R * IF2 + I * RF2;
    R = SFRe[158];
    I = SFIm[158];
    SFRe[158] = SFIm[156] - I;
    SFIm[158] = R - SFRe[156];
    SFRe[156] += R;
    SFIm[156] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[157];
    I = SFIm[157];
    SFRe[157] = R * RF1 - I * IF1;
    SFIm[157] = R * IF1 + I * RF1;
    R = SFRe[159];
    I = SFIm[159];
    SFRe[159] = R * RF2 - I * IF2;
    SFIm[159] = R * IF2 + I * RF2;
    R = SFRe[159];
    I = SFIm[159];
    SFRe[159] = SFIm[157] - I;
    SFIm[159] = R - SFRe[157];
    SFRe[157] += R;
    SFIm[157] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 152), _mm_load_ps(SFRe + 156));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 152), _mm_load_ps(SFIm + 156));
    _mm_store_ps(SFRe + 156, _mm_sub_ps(_mm_load_ps(SFRe + 152), _mm_load_ps(SFRe + 156)));
    _mm_store_ps(SFIm + 156, _mm_sub_ps(_mm_load_ps(SFIm + 152), _mm_load_ps(SFIm + 156)));
    _mm_store_ps(SFRe + 152, mR);
    _mm_store_ps(SFIm + 152, mI);
    R = SFRe[150] + SFRe[151];
    I = SFIm[150] + SFIm[151];
    SFRe[151] = SFRe[150] - SFRe[151];
    SFIm[151] = SFIm[150] - SFIm[151];
    SFRe[150] = R;
    SFIm[150] = I;
    R = SFRe[148] + SFRe[149];
    I = SFIm[148] + SFIm[149];
    SFRe[149] = SFRe[148] - SFRe[149];
    SFIm[149] = SFIm[148] - SFIm[149];
    SFRe[148] = R;
    SFIm[148] = I;
    Re0 = SFRe[144]; Im0 = SFIm[144];
    Re1 = SFRe[145]; Im1 = SFIm[145];
    Re2 = SFRe[146]; Im2 = SFIm[146];
    Re3 = SFRe[147]; Im3 = SFIm[147];
    SFRe[144] = Re0 + Re1; SFIm[144] = Im0 + Im1;
    SFRe[145] = Re0 - Re1; SFIm[145] = Im0 - Im1;
    SFRe[146] = Re2 + Re3; SFIm[146] = Im2 + Im3;
    SFRe[147] = Im2 - Im3; SFIm[147] = Re3 - Re2;
    RA = SFRe[144] + SFRe[146];
    IA = SFIm[144] + SFIm[146];
    SFRe[146] = SFRe[144] - SFRe[146];
    SFIm[146] = SFIm[144] - SFIm[146];
    SFRe[144] = RA;
    SFIm[144] = IA;
    RA = SFRe[145] + SFRe[147];
    IA = SFIm[145] + SFIm[147];
    SFRe[147] = SFRe[145] - SFRe[147];
    SFIm[147] = SFIm[145] - SFIm[147];
    SFRe[145] = RA;
    SFIm[145] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[148];
    I = SFIm[148];
    SFRe[148] = R * RF1 - I * IF1;
    SFIm[148] = R * IF1 + I * RF1;
    R = SFRe[150];
    I = SFIm[150];
    SFRe[150] = R * RF2 - I * IF2;
    SFIm[150] = R * IF2 + I * RF2;
    R = SFRe[150];
    I = SFIm[150];
    SFRe[150] = SFIm[148] - I;
    SFIm[150] = R - SFRe[148];
    SFRe[148] += R;
    SFIm[148] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[149];
    I = SFIm[149];
    SFRe[149] = R * RF1 - I * IF1;
    SFIm[149] = R * IF1 + I * RF1;
    R = SFRe[151];
    I = SFIm[151];
    SFRe[151] = R * RF2 - I * IF2;
    SFIm[151] = R * IF2 + I * RF2;
    R = SFRe[151];
    I = SFIm[151];
    SFRe[151] = SFIm[149] - I;
    SFIm[151] = R - SFRe[149];
    SFRe[149] += R;
    SFIm[149] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 144), _mm_load_ps(SFRe + 148));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 144), _mm_load_ps(SFIm + 148));
    _mm_store_ps(SFRe + 148, _mm_sub_ps(_mm_load_ps(SFRe + 144), _mm_load_ps(SFRe + 148)));
    _mm_store_ps(SFIm + 148, _mm_sub_ps(_mm_load_ps(SFIm + 144), _mm_load_ps(SFIm + 148)));
    _mm_store_ps(SFRe + 144, mR);
    _mm_store_ps(SFIm + 144, mI);
    Re0 = SFRe[140]; Im0 = SFIm[140];
    Re1 = SFRe[141]; Im1 = SFIm[141];
    Re2 = SFRe[142]; Im2 = SFIm[142];
    Re3 = SFRe[143]; Im3 = SFIm[143];
    SFRe[140] = Re0 + Re1; SFIm[140] = Im0 + Im1;
    SFRe[141] = Re0 - Re1; SFIm[141] = Im0 - Im1;
    SFRe[142] = Re2 + Re3; SFIm[142] = Im2 + Im3;
    SFRe[143] = Im2 - Im3; SFIm[143] = Re3 - Re2;
    RA = SFRe[140] + SFRe[142];
    IA = SFIm[140] + SFIm[142];
    SFRe[142] = SFRe[140] - SFRe[142];
    SFIm[142] = SFIm[140] - SFIm[142];
    SFRe[140] = RA;
    SFIm[140] = IA;
    RA = SFRe[141] + SFRe[143];
    IA = SFIm[141] + SFIm[143];
    SFRe[143] = SFRe[141] - SFRe[143];
    SFIm[143] = SFIm[141] - SFIm[143];
    SFRe[141] = RA;
    SFIm[141] = IA;
    Re0 = SFRe[136]; Im0 = SFIm[136];
    Re1 = SFRe[137]; Im1 = SFIm[137];
    Re2 = SFRe[138]; Im2 = SFIm[138];
    Re3 = SFRe[139]; Im3 = SFIm[139];
    SFRe[136] = Re0 + Re1; SFIm[136] = Im0 + Im1;
    SFRe[137] = Re0 - Re1; SFIm[137] = Im0 - Im1;
    SFRe[138] = Re2 + Re3; SFIm[138] = Im2 + Im3;
    SFRe[139] = Im2 - Im3; SFIm[139] = Re3 - Re2;
    RA = SFRe[136] + SFRe[138];
    IA = SFIm[136] + SFIm[138];
    SFRe[138] = SFRe[136] - SFRe[138];
    SFIm[138] = SFIm[136] - SFIm[138];
    SFRe[136] = RA;
    SFIm[136] = IA;
    RA = SFRe[137] + SFRe[139];
    IA = SFIm[137] + SFIm[139];
    SFRe[139] = SFRe[137] - SFRe[139];
    SFIm[139] = SFIm[137] - SFIm[139];
    SFRe[137] = RA;
    SFIm[137] = IA;
    R = SFRe[134] + SFRe[135];
    I = SFIm[134] + SFIm[135];
    SFRe[135] = SFRe[134] - SFRe[135];
    SFIm[135] = SFIm[134] - SFIm[135];
    SFRe[134] = R;
    SFIm[134] = I;
    R = SFRe[132] + SFRe[133];
    I = SFIm[132] + SFIm[133];
    SFRe[133] = SFRe[132] - SFRe[133];
    SFIm[133] = SFIm[132] - SFIm[133];
    SFRe[132] = R;
    SFIm[132] = I;
    Re0 = SFRe[128]; Im0 = SFIm[128];
    Re1 = SFRe[129]; Im1 = SFIm[129];
    Re2 = SFRe[130]; Im2 = SFIm[130];
    Re3 = SFRe[131]; Im3 = SFIm[131];
    SFRe[128] = Re0 + Re1; SFIm[128] = Im0 + Im1;
    SFRe[129] = Re0 - Re1; SFIm[129] = Im0 - Im1;
    SFRe[130] = Re2 + Re3; SFIm[130] = Im2 + Im3;
    SFRe[131] = Im2 - Im3; SFIm[131] = Re3 - Re2;
    RA = SFRe[128] + SFRe[130];
    IA = SFIm[128] + SFIm[130];
    SFRe[130] = SFRe[128] - SFRe[130];
    SFIm[130] = SFIm[128] - SFIm[130];
    SFRe[128] = RA;
    SFIm[128] = IA;
    RA = SFRe[129] + SFRe[131];
    IA = SFIm[129] + SFIm[131];
    SFRe[131] = SFRe[129] - SFRe[131];
    SFIm[131] = SFIm[129] - SFIm[131];
    SFRe[129] = RA;
    SFIm[129] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[132];
    I = SFIm[132];
    SFRe[132] = R * RF1 - I * IF1;
    SFIm[132] = R * IF1 + I * RF1;
    R = SFRe[134];
    I = SFIm[134];
    SFRe[134] = R * RF2 - I * IF2;
    SFIm[134] = R * IF2 + I * RF2;
    R = SFRe[134];
    I = SFIm[134];
    SFRe[134] = SFIm[132] - I;
    SFIm[134] = R - SFRe[132];
    SFRe[132] += R;
    SFIm[132] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[133];
    I = SFIm[133];
    SFRe[133] = R * RF1 - I * IF1;
    SFIm[133] = R * IF1 + I * RF1;
    R = SFRe[135];
    I = SFIm[135];
    SFRe[135] = R * RF2 - I * IF2;
    SFIm[135] = R * IF2 + I * RF2;
    R = SFRe[135];
    I = SFIm[135];
    SFRe[135] = SFIm[133] - I;
    SFIm[135] = R - SFRe[133];
    SFRe[133] += R;
    SFIm[133] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 132));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 132));
    _mm_store_ps(SFRe + 132, _mm_sub_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 132)));
    _mm_store_ps(SFIm + 132, _mm_sub_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 132)));
    _mm_store_ps(SFRe + 128, mR);
    _mm_store_ps(SFIm + 128, mI);
    mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
    mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
    mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
    mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
    mR = _mm_load_ps(SFRe + 136);
    mI = _mm_load_ps(SFIm + 136);
    _mm_store_ps(SFRe + 136, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 136, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 140);
    mI = _mm_load_ps(SFIm + 140);
    _mm_store_ps(SFRe + 140, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 140, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 140);
    mI = _mm_load_ps(SFIm + 140);
    _mm_store_ps(SFRe + 140, _mm_sub_ps(_mm_load_ps(SFIm + 136), mI));
    _mm_store_ps(SFIm + 140, _mm_sub_ps(mR, _mm_load_ps(SFRe + 136)));
    _mm_store_ps(SFRe + 136, _mm_add_ps(_mm_load_ps(SFRe + 136), mR));
    _mm_store_ps(SFIm + 136, _mm_add_ps(_mm_load_ps(SFIm + 136), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 136));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 136));
    _mm_store_ps(SFRe + 136, _mm_sub_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 136)));
    _mm_store_ps(SFIm + 136, _mm_sub_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 136)));
    _mm_store_ps(SFRe + 128, mR);
    _mm_store_ps(SFIm + 128, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 132), _mm_load_ps(SFRe + 140));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 132), _mm_load_ps(SFIm + 140));
    _mm_store_ps(SFRe + 140, _mm_sub_ps(_mm_load_ps(SFRe + 132), _mm_load_ps(SFRe + 140)));
    _mm_store_ps(SFIm + 140, _mm_sub_ps(_mm_load_ps(SFIm + 132), _mm_load_ps(SFIm + 140)));
    _mm_store_ps(SFRe + 132, mR);
    _mm_store_ps(SFIm + 132, mI);
    mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
    mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
    mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
    mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
    mR = _mm_load_ps(SFRe + 144);
    mI = _mm_load_ps(SFIm + 144);
    _mm_store_ps(SFRe + 144, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 144, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 152);
    mI = _mm_load_ps(SFIm + 152);
    _mm_store_ps(SFRe + 152, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 152, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 152);
    mI = _mm_load_ps(SFIm + 152);
    _mm_store_ps(SFRe + 152, _mm_sub_ps(_mm_load_ps(SFIm + 144), mI));
    _mm_store_ps(SFIm + 152, _mm_sub_ps(mR, _mm_load_ps(SFRe + 144)));
    _mm_store_ps(SFRe + 144, _mm_add_ps(_mm_load_ps(SFRe + 144), mR));
    _mm_store_ps(SFIm + 144, _mm_add_ps(_mm_load_ps(SFIm + 144), mI));
    mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
    mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
    mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
    mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
    mR = _mm_load_ps(SFRe + 148);
    mI = _mm_load_ps(SFIm + 148);
    _mm_store_ps(SFRe + 148, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 148, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 156);
    mI = _mm_load_ps(SFIm + 156);
    _mm_store_ps(SFRe + 156, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 156, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 156);
    mI = _mm_load_ps(SFIm + 156);
    _mm_store_ps(SFRe + 156, _mm_sub_ps(_mm_load_ps(SFIm + 148), mI));
    _mm_store_ps(SFIm + 156, _mm_sub_ps(mR, _mm_load_ps(SFRe + 148)));
    _mm_store_ps(SFRe + 148, _mm_add_ps(_mm_load_ps(SFRe + 148), mR));
    _mm_store_ps(SFIm + 148, _mm_add_ps(_mm_load_ps(SFIm + 148), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 144));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 144));
    _mm_store_ps(SFRe + 144, _mm_sub_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 144)));
    _mm_store_ps(SFIm + 144, _mm_sub_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 144)));
    _mm_store_ps(SFRe + 128, mR);
    _mm_store_ps(SFIm + 128, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 132), _mm_load_ps(SFRe + 148));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 132), _mm_load_ps(SFIm + 148));
    _mm_store_ps(SFRe + 148, _mm_sub_ps(_mm_load_ps(SFRe + 132), _mm_load_ps(SFRe + 148)));
    _mm_store_ps(SFIm + 148, _mm_sub_ps(_mm_load_ps(SFIm + 132), _mm_load_ps(SFIm + 148)));
    _mm_store_ps(SFRe + 132, mR);
    _mm_store_ps(SFIm + 132, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 136), _mm_load_ps(SFRe + 152));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 136), _mm_load_ps(SFIm + 152));
    _mm_store_ps(SFRe + 152, _mm_sub_ps(_mm_load_ps(SFRe + 136), _mm_load_ps(SFRe + 152)));
    _mm_store_ps(SFIm + 152, _mm_sub_ps(_mm_load_ps(SFIm + 136), _mm_load_ps(SFIm + 152)));
    _mm_store_ps(SFRe + 136, mR);
    _mm_store_ps(SFIm + 136, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 140), _mm_load_ps(SFRe + 156));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 140), _mm_load_ps(SFIm + 156));
    _mm_store_ps(SFRe + 156, _mm_sub_ps(_mm_load_ps(SFRe + 140), _mm_load_ps(SFRe + 156)));
    _mm_store_ps(SFIm + 156, _mm_sub_ps(_mm_load_ps(SFIm + 140), _mm_load_ps(SFIm + 156)));
    _mm_store_ps(SFRe + 140, mR);
    _mm_store_ps(SFIm + 140, mI);
    mRF1 = _mm_set_ps(0.956946, 0.980794, 0.995187, 1.000000);
    mIF1 = _mm_set_ps(-0.290265, -0.195044, -0.097994, -0.000000);
    mRF2 = _mm_set_ps(0.634402, 0.831492, 0.956946, 1.000000);
    mIF2 = _mm_set_ps(-0.773004, -0.555536, -0.290265, -0.000000);
    mR = _mm_load_ps(SFRe + 160);
    mI = _mm_load_ps(SFIm + 160);
    _mm_store_ps(SFRe + 160, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 160, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 176);
    mI = _mm_load_ps(SFIm + 176);
    _mm_store_ps(SFRe + 176, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 176, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 176);
    mI = _mm_load_ps(SFIm + 176);
    _mm_store_ps(SFRe + 176, _mm_sub_ps(_mm_load_ps(SFIm + 160), mI));
    _mm_store_ps(SFIm + 176, _mm_sub_ps(mR, _mm_load_ps(SFRe + 160)));
    _mm_store_ps(SFRe + 160, _mm_add_ps(_mm_load_ps(SFRe + 160), mR));
    _mm_store_ps(SFIm + 160, _mm_add_ps(_mm_load_ps(SFIm + 160), mI));
    mRF1 = _mm_set_ps(0.773019, 0.831492, 0.881929, 0.923896);
    mIF1 = _mm_set_ps(-0.634382, -0.555536, -0.471382, -0.382643);
    mRF2 = _mm_set_ps(-0.471404, -0.195069, 0.098019, 0.382712);
    mIF2 = _mm_set_ps(-0.881918, -0.980790, -0.995185, -0.923868);
    mR = _mm_load_ps(SFRe + 164);
    mI = _mm_load_ps(SFIm + 164);
    _mm_store_ps(SFRe + 164, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 164, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 180);
    mI = _mm_load_ps(SFIm + 180);
    _mm_store_ps(SFRe + 180, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 180, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 180);
    mI = _mm_load_ps(SFIm + 180);
    _mm_store_ps(SFRe + 180, _mm_sub_ps(_mm_load_ps(SFIm + 164), mI));
    _mm_store_ps(SFIm + 180, _mm_sub_ps(mR, _mm_load_ps(SFRe + 164)));
    _mm_store_ps(SFRe + 164, _mm_add_ps(_mm_load_ps(SFRe + 164), mR));
    _mm_store_ps(SFIm + 164, _mm_add_ps(_mm_load_ps(SFIm + 164), mI));
    mRF1 = _mm_set_ps(0.471404, 0.555599, 0.634402, 0.707133);
    mIF1 = _mm_set_ps(-0.881918, -0.831451, -0.773004, -0.707080);
    mRF2 = _mm_set_ps(-0.995187, -0.980785, -0.881929, -0.707098);
    mIF2 = _mm_set_ps(0.097994, -0.195093, -0.471382, -0.707116);
    mR = _mm_load_ps(SFRe + 168);
    mI = _mm_load_ps(SFIm + 168);
    _mm_store_ps(SFRe + 168, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 168, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 184);
    mI = _mm_load_ps(SFIm + 184);
    _mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 184, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 184);
    mI = _mm_load_ps(SFIm + 184);
    _mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_load_ps(SFIm + 168), mI));
    _mm_store_ps(SFIm + 184, _mm_sub_ps(mR, _mm_load_ps(SFRe + 168)));
    _mm_store_ps(SFRe + 168, _mm_add_ps(_mm_load_ps(SFRe + 168), mR));
    _mm_store_ps(SFIm + 168, _mm_add_ps(_mm_load_ps(SFIm + 168), mI));
    mRF1 = _mm_set_ps(0.098019, 0.195118, 0.290289, 0.382712);
    mIF1 = _mm_set_ps(-0.995185, -0.980780, -0.956939, -0.923868);
    mRF2 = _mm_set_ps(-0.290289, -0.555599, -0.773019, -0.923896);
    mIF2 = _mm_set_ps(0.956939, 0.831451, 0.634382, 0.382643);
    mR = _mm_load_ps(SFRe + 172);
    mI = _mm_load_ps(SFIm + 172);
    _mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 172, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 188);
    mI = _mm_load_ps(SFIm + 188);
    _mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 188, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 188);
    mI = _mm_load_ps(SFIm + 188);
    _mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_load_ps(SFIm + 172), mI));
    _mm_store_ps(SFIm + 188, _mm_sub_ps(mR, _mm_load_ps(SFRe + 172)));
    _mm_store_ps(SFRe + 172, _mm_add_ps(_mm_load_ps(SFRe + 172), mR));
    _mm_store_ps(SFIm + 172, _mm_add_ps(_mm_load_ps(SFIm + 172), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 160));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 160));
    _mm_store_ps(SFRe + 160, _mm_sub_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 160)));
    _mm_store_ps(SFIm + 160, _mm_sub_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 160)));
    _mm_store_ps(SFRe + 128, mR);
    _mm_store_ps(SFIm + 128, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 132), _mm_load_ps(SFRe + 164));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 132), _mm_load_ps(SFIm + 164));
    _mm_store_ps(SFRe + 164, _mm_sub_ps(_mm_load_ps(SFRe + 132), _mm_load_ps(SFRe + 164)));
    _mm_store_ps(SFIm + 164, _mm_sub_ps(_mm_load_ps(SFIm + 132), _mm_load_ps(SFIm + 164)));
    _mm_store_ps(SFRe + 132, mR);
    _mm_store_ps(SFIm + 132, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 136), _mm_load_ps(SFRe + 168));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 136), _mm_load_ps(SFIm + 168));
    _mm_store_ps(SFRe + 168, _mm_sub_ps(_mm_load_ps(SFRe + 136), _mm_load_ps(SFRe + 168)));
    _mm_store_ps(SFIm + 168, _mm_sub_ps(_mm_load_ps(SFIm + 136), _mm_load_ps(SFIm + 168)));
    _mm_store_ps(SFRe + 136, mR);
    _mm_store_ps(SFIm + 136, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 140), _mm_load_ps(SFRe + 172));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 140), _mm_load_ps(SFIm + 172));
    _mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_load_ps(SFRe + 140), _mm_load_ps(SFRe + 172)));
    _mm_store_ps(SFIm + 172, _mm_sub_ps(_mm_load_ps(SFIm + 140), _mm_load_ps(SFIm + 172)));
    _mm_store_ps(SFRe + 140, mR);
    _mm_store_ps(SFIm + 140, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 144), _mm_load_ps(SFRe + 176));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 144), _mm_load_ps(SFIm + 176));
    _mm_store_ps(SFRe + 176, _mm_sub_ps(_mm_load_ps(SFRe + 144), _mm_load_ps(SFRe + 176)));
    _mm_store_ps(SFIm + 176, _mm_sub_ps(_mm_load_ps(SFIm + 144), _mm_load_ps(SFIm + 176)));
    _mm_store_ps(SFRe + 144, mR);
    _mm_store_ps(SFIm + 144, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 148), _mm_load_ps(SFRe + 180));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 148), _mm_load_ps(SFIm + 180));
    _mm_store_ps(SFRe + 180, _mm_sub_ps(_mm_load_ps(SFRe + 148), _mm_load_ps(SFRe + 180)));
    _mm_store_ps(SFIm + 180, _mm_sub_ps(_mm_load_ps(SFIm + 148), _mm_load_ps(SFIm + 180)));
    _mm_store_ps(SFRe + 148, mR);
    _mm_store_ps(SFIm + 148, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 152), _mm_load_ps(SFRe + 184));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 152), _mm_load_ps(SFIm + 184));
    _mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_load_ps(SFRe + 152), _mm_load_ps(SFRe + 184)));
    _mm_store_ps(SFIm + 184, _mm_sub_ps(_mm_load_ps(SFIm + 152), _mm_load_ps(SFIm + 184)));
    _mm_store_ps(SFRe + 152, mR);
    _mm_store_ps(SFIm + 152, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 156), _mm_load_ps(SFRe + 188));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 156), _mm_load_ps(SFIm + 188));
    _mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_load_ps(SFRe + 156), _mm_load_ps(SFRe + 188)));
    _mm_store_ps(SFIm + 188, _mm_sub_ps(_mm_load_ps(SFIm + 156), _mm_load_ps(SFIm + 188)));
    _mm_store_ps(SFRe + 156, mR);
    _mm_store_ps(SFIm + 156, mI);
    R = SFRe[126] + SFRe[127];
    I = SFIm[126] + SFIm[127];
    SFRe[127] = SFRe[126] - SFRe[127];
    SFIm[127] = SFIm[126] - SFIm[127];
    SFRe[126] = R;
    SFIm[126] = I;
    R = SFRe[124] + SFRe[125];
    I = SFIm[124] + SFIm[125];
    SFRe[125] = SFRe[124] - SFRe[125];
    SFIm[125] = SFIm[124] - SFIm[125];
    SFRe[124] = R;
    SFIm[124] = I;
    Re0 = SFRe[120]; Im0 = SFIm[120];
    Re1 = SFRe[121]; Im1 = SFIm[121];
    Re2 = SFRe[122]; Im2 = SFIm[122];
    Re3 = SFRe[123]; Im3 = SFIm[123];
    SFRe[120] = Re0 + Re1; SFIm[120] = Im0 + Im1;
    SFRe[121] = Re0 - Re1; SFIm[121] = Im0 - Im1;
    SFRe[122] = Re2 + Re3; SFIm[122] = Im2 + Im3;
    SFRe[123] = Im2 - Im3; SFIm[123] = Re3 - Re2;
    RA = SFRe[120] + SFRe[122];
    IA = SFIm[120] + SFIm[122];
    SFRe[122] = SFRe[120] - SFRe[122];
    SFIm[122] = SFIm[120] - SFIm[122];
    SFRe[120] = RA;
    SFIm[120] = IA;
    RA = SFRe[121] + SFRe[123];
    IA = SFIm[121] + SFIm[123];
    SFRe[123] = SFRe[121] - SFRe[123];
    SFIm[123] = SFIm[121] - SFIm[123];
    SFRe[121] = RA;
    SFIm[121] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[124];
    I = SFIm[124];
    SFRe[124] = R * RF1 - I * IF1;
    SFIm[124] = R * IF1 + I * RF1;
    R = SFRe[126];
    I = SFIm[126];
    SFRe[126] = R * RF2 - I * IF2;
    SFIm[126] = R * IF2 + I * RF2;
    R = SFRe[126];
    I = SFIm[126];
    SFRe[126] = SFIm[124] - I;
    SFIm[126] = R - SFRe[124];
    SFRe[124] += R;
    SFIm[124] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[125];
    I = SFIm[125];
    SFRe[125] = R * RF1 - I * IF1;
    SFIm[125] = R * IF1 + I * RF1;
    R = SFRe[127];
    I = SFIm[127];
    SFRe[127] = R * RF2 - I * IF2;
    SFIm[127] = R * IF2 + I * RF2;
    R = SFRe[127];
    I = SFIm[127];
    SFRe[127] = SFIm[125] - I;
    SFIm[127] = R - SFRe[125];
    SFRe[125] += R;
    SFIm[125] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 120), _mm_load_ps(SFRe + 124));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 120), _mm_load_ps(SFIm + 124));
    _mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_load_ps(SFRe + 120), _mm_load_ps(SFRe + 124)));
    _mm_store_ps(SFIm + 124, _mm_sub_ps(_mm_load_ps(SFIm + 120), _mm_load_ps(SFIm + 124)));
    _mm_store_ps(SFRe + 120, mR);
    _mm_store_ps(SFIm + 120, mI);
    R = SFRe[118] + SFRe[119];
    I = SFIm[118] + SFIm[119];
    SFRe[119] = SFRe[118] - SFRe[119];
    SFIm[119] = SFIm[118] - SFIm[119];
    SFRe[118] = R;
    SFIm[118] = I;
    R = SFRe[116] + SFRe[117];
    I = SFIm[116] + SFIm[117];
    SFRe[117] = SFRe[116] - SFRe[117];
    SFIm[117] = SFIm[116] - SFIm[117];
    SFRe[116] = R;
    SFIm[116] = I;
    Re0 = SFRe[112]; Im0 = SFIm[112];
    Re1 = SFRe[113]; Im1 = SFIm[113];
    Re2 = SFRe[114]; Im2 = SFIm[114];
    Re3 = SFRe[115]; Im3 = SFIm[115];
    SFRe[112] = Re0 + Re1; SFIm[112] = Im0 + Im1;
    SFRe[113] = Re0 - Re1; SFIm[113] = Im0 - Im1;
    SFRe[114] = Re2 + Re3; SFIm[114] = Im2 + Im3;
    SFRe[115] = Im2 - Im3; SFIm[115] = Re3 - Re2;
    RA = SFRe[112] + SFRe[114];
    IA = SFIm[112] + SFIm[114];
    SFRe[114] = SFRe[112] - SFRe[114];
    SFIm[114] = SFIm[112] - SFIm[114];
    SFRe[112] = RA;
    SFIm[112] = IA;
    RA = SFRe[113] + SFRe[115];
    IA = SFIm[113] + SFIm[115];
    SFRe[115] = SFRe[113] - SFRe[115];
    SFIm[115] = SFIm[113] - SFIm[115];
    SFRe[113] = RA;
    SFIm[113] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[116];
    I = SFIm[116];
    SFRe[116] = R * RF1 - I * IF1;
    SFIm[116] = R * IF1 + I * RF1;
    R = SFRe[118];
    I = SFIm[118];
    SFRe[118] = R * RF2 - I * IF2;
    SFIm[118] = R * IF2 + I * RF2;
    R = SFRe[118];
    I = SFIm[118];
    SFRe[118] = SFIm[116] - I;
    SFIm[118] = R - SFRe[116];
    SFRe[116] += R;
    SFIm[116] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[117];
    I = SFIm[117];
    SFRe[117] = R * RF1 - I * IF1;
    SFIm[117] = R * IF1 + I * RF1;
    R = SFRe[119];
    I = SFIm[119];
    SFRe[119] = R * RF2 - I * IF2;
    SFIm[119] = R * IF2 + I * RF2;
    R = SFRe[119];
    I = SFIm[119];
    SFRe[119] = SFIm[117] - I;
    SFIm[119] = R - SFRe[117];
    SFRe[117] += R;
    SFIm[117] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 112), _mm_load_ps(SFRe + 116));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 112), _mm_load_ps(SFIm + 116));
    _mm_store_ps(SFRe + 116, _mm_sub_ps(_mm_load_ps(SFRe + 112), _mm_load_ps(SFRe + 116)));
    _mm_store_ps(SFIm + 116, _mm_sub_ps(_mm_load_ps(SFIm + 112), _mm_load_ps(SFIm + 116)));
    _mm_store_ps(SFRe + 112, mR);
    _mm_store_ps(SFIm + 112, mI);
    Re0 = SFRe[108]; Im0 = SFIm[108];
    Re1 = SFRe[109]; Im1 = SFIm[109];
    Re2 = SFRe[110]; Im2 = SFIm[110];
    Re3 = SFRe[111]; Im3 = SFIm[111];
    SFRe[108] = Re0 + Re1; SFIm[108] = Im0 + Im1;
    SFRe[109] = Re0 - Re1; SFIm[109] = Im0 - Im1;
    SFRe[110] = Re2 + Re3; SFIm[110] = Im2 + Im3;
    SFRe[111] = Im2 - Im3; SFIm[111] = Re3 - Re2;
    RA = SFRe[108] + SFRe[110];
    IA = SFIm[108] + SFIm[110];
    SFRe[110] = SFRe[108] - SFRe[110];
    SFIm[110] = SFIm[108] - SFIm[110];
    SFRe[108] = RA;
    SFIm[108] = IA;
    RA = SFRe[109] + SFRe[111];
    IA = SFIm[109] + SFIm[111];
    SFRe[111] = SFRe[109] - SFRe[111];
    SFIm[111] = SFIm[109] - SFIm[111];
    SFRe[109] = RA;
    SFIm[109] = IA;
    Re0 = SFRe[104]; Im0 = SFIm[104];
    Re1 = SFRe[105]; Im1 = SFIm[105];
    Re2 = SFRe[106]; Im2 = SFIm[106];
    Re3 = SFRe[107]; Im3 = SFIm[107];
    SFRe[104] = Re0 + Re1; SFIm[104] = Im0 + Im1;
    SFRe[105] = Re0 - Re1; SFIm[105] = Im0 - Im1;
    SFRe[106] = Re2 + Re3; SFIm[106] = Im2 + Im3;
    SFRe[107] = Im2 - Im3; SFIm[107] = Re3 - Re2;
    RA = SFRe[104] + SFRe[106];
    IA = SFIm[104] + SFIm[106];
    SFRe[106] = SFRe[104] - SFRe[106];
    SFIm[106] = SFIm[104] - SFIm[106];
    SFRe[104] = RA;
    SFIm[104] = IA;
    RA = SFRe[105] + SFRe[107];
    IA = SFIm[105] + SFIm[107];
    SFRe[107] = SFRe[105] - SFRe[107];
    SFIm[107] = SFIm[105] - SFIm[107];
    SFRe[105] = RA;
    SFIm[105] = IA;
    R = SFRe[102] + SFRe[103];
    I = SFIm[102] + SFIm[103];
    SFRe[103] = SFRe[102] - SFRe[103];
    SFIm[103] = SFIm[102] - SFIm[103];
    SFRe[102] = R;
    SFIm[102] = I;
    R = SFRe[100] + SFRe[101];
    I = SFIm[100] + SFIm[101];
    SFRe[101] = SFRe[100] - SFRe[101];
    SFIm[101] = SFIm[100] - SFIm[101];
    SFRe[100] = R;
    SFIm[100] = I;
    Re0 = SFRe[96]; Im0 = SFIm[96];
    Re1 = SFRe[97]; Im1 = SFIm[97];
    Re2 = SFRe[98]; Im2 = SFIm[98];
    Re3 = SFRe[99]; Im3 = SFIm[99];
    SFRe[96] = Re0 + Re1; SFIm[96] = Im0 + Im1;
    SFRe[97] = Re0 - Re1; SFIm[97] = Im0 - Im1;
    SFRe[98] = Re2 + Re3; SFIm[98] = Im2 + Im3;
    SFRe[99] = Im2 - Im3; SFIm[99] = Re3 - Re2;
    RA = SFRe[96] + SFRe[98];
    IA = SFIm[96] + SFIm[98];
    SFRe[98] = SFRe[96] - SFRe[98];
    SFIm[98] = SFIm[96] - SFIm[98];
    SFRe[96] = RA;
    SFIm[96] = IA;
    RA = SFRe[97] + SFRe[99];
    IA = SFIm[97] + SFIm[99];
    SFRe[99] = SFRe[97] - SFRe[99];
    SFIm[99] = SFIm[97] - SFIm[99];
    SFRe[97] = RA;
    SFIm[97] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[100];
    I = SFIm[100];
    SFRe[100] = R * RF1 - I * IF1;
    SFIm[100] = R * IF1 + I * RF1;
    R = SFRe[102];
    I = SFIm[102];
    SFRe[102] = R * RF2 - I * IF2;
    SFIm[102] = R * IF2 + I * RF2;
    R = SFRe[102];
    I = SFIm[102];
    SFRe[102] = SFIm[100] - I;
    SFIm[102] = R - SFRe[100];
    SFRe[100] += R;
    SFIm[100] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[101];
    I = SFIm[101];
    SFRe[101] = R * RF1 - I * IF1;
    SFIm[101] = R * IF1 + I * RF1;
    R = SFRe[103];
    I = SFIm[103];
    SFRe[103] = R * RF2 - I * IF2;
    SFIm[103] = R * IF2 + I * RF2;
    R = SFRe[103];
    I = SFIm[103];
    SFRe[103] = SFIm[101] - I;
    SFIm[103] = R - SFRe[101];
    SFRe[101] += R;
    SFIm[101] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 100));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 100));
    _mm_store_ps(SFRe + 100, _mm_sub_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 100)));
    _mm_store_ps(SFIm + 100, _mm_sub_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 100)));
    _mm_store_ps(SFRe + 96, mR);
    _mm_store_ps(SFIm + 96, mI);
    mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
    mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
    mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
    mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
    mR = _mm_load_ps(SFRe + 104);
    mI = _mm_load_ps(SFIm + 104);
    _mm_store_ps(SFRe + 104, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 104, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 108);
    mI = _mm_load_ps(SFIm + 108);
    _mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 108, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 108);
    mI = _mm_load_ps(SFIm + 108);
    _mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_load_ps(SFIm + 104), mI));
    _mm_store_ps(SFIm + 108, _mm_sub_ps(mR, _mm_load_ps(SFRe + 104)));
    _mm_store_ps(SFRe + 104, _mm_add_ps(_mm_load_ps(SFRe + 104), mR));
    _mm_store_ps(SFIm + 104, _mm_add_ps(_mm_load_ps(SFIm + 104), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 104));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 104));
    _mm_store_ps(SFRe + 104, _mm_sub_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 104)));
    _mm_store_ps(SFIm + 104, _mm_sub_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 104)));
    _mm_store_ps(SFRe + 96, mR);
    _mm_store_ps(SFIm + 96, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 100), _mm_load_ps(SFRe + 108));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 100), _mm_load_ps(SFIm + 108));
    _mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_load_ps(SFRe + 100), _mm_load_ps(SFRe + 108)));
    _mm_store_ps(SFIm + 108, _mm_sub_ps(_mm_load_ps(SFIm + 100), _mm_load_ps(SFIm + 108)));
    _mm_store_ps(SFRe + 100, mR);
    _mm_store_ps(SFIm + 100, mI);
    mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
    mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
    mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
    mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
    mR = _mm_load_ps(SFRe + 112);
    mI = _mm_load_ps(SFIm + 112);
    _mm_store_ps(SFRe + 112, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 112, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 120);
    mI = _mm_load_ps(SFIm + 120);
    _mm_store_ps(SFRe + 120, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 120, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 120);
    mI = _mm_load_ps(SFIm + 120);
    _mm_store_ps(SFRe + 120, _mm_sub_ps(_mm_load_ps(SFIm + 112), mI));
    _mm_store_ps(SFIm + 120, _mm_sub_ps(mR, _mm_load_ps(SFRe + 112)));
    _mm_store_ps(SFRe + 112, _mm_add_ps(_mm_load_ps(SFRe + 112), mR));
    _mm_store_ps(SFIm + 112, _mm_add_ps(_mm_load_ps(SFIm + 112), mI));
    mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
    mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
    mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
    mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
    mR = _mm_load_ps(SFRe + 116);
    mI = _mm_load_ps(SFIm + 116);
    _mm_store_ps(SFRe + 116, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 116, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 124);
    mI = _mm_load_ps(SFIm + 124);
    _mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 124, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 124);
    mI = _mm_load_ps(SFIm + 124);
    _mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_load_ps(SFIm + 116), mI));
    _mm_store_ps(SFIm + 124, _mm_sub_ps(mR, _mm_load_ps(SFRe + 116)));
    _mm_store_ps(SFRe + 116, _mm_add_ps(_mm_load_ps(SFRe + 116), mR));
    _mm_store_ps(SFIm + 116, _mm_add_ps(_mm_load_ps(SFIm + 116), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 112));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 112));
    _mm_store_ps(SFRe + 112, _mm_sub_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 112)));
    _mm_store_ps(SFIm + 112, _mm_sub_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 112)));
    _mm_store_ps(SFRe + 96, mR);
    _mm_store_ps(SFIm + 96, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 100), _mm_load_ps(SFRe + 116));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 100), _mm_load_ps(SFIm + 116));
    _mm_store_ps(SFRe + 116, _mm_sub_ps(_mm_load_ps(SFRe + 100), _mm_load_ps(SFRe + 116)));
    _mm_store_ps(SFIm + 116, _mm_sub_ps(_mm_load_ps(SFIm + 100), _mm_load_ps(SFIm + 116)));
    _mm_store_ps(SFRe + 100, mR);
    _mm_store_ps(SFIm + 100, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 104), _mm_load_ps(SFRe + 120));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 104), _mm_load_ps(SFIm + 120));
    _mm_store_ps(SFRe + 120, _mm_sub_ps(_mm_load_ps(SFRe + 104), _mm_load_ps(SFRe + 120)));
    _mm_store_ps(SFIm + 120, _mm_sub_ps(_mm_load_ps(SFIm + 104), _mm_load_ps(SFIm + 120)));
    _mm_store_ps(SFRe + 104, mR);
    _mm_store_ps(SFIm + 104, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 108), _mm_load_ps(SFRe + 124));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 108), _mm_load_ps(SFIm + 124));
    _mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_load_ps(SFRe + 108), _mm_load_ps(SFRe + 124)));
    _mm_store_ps(SFIm + 124, _mm_sub_ps(_mm_load_ps(SFIm + 108), _mm_load_ps(SFIm + 124)));
    _mm_store_ps(SFRe + 108, mR);
    _mm_store_ps(SFIm + 108, mI);
    R = SFRe[94] + SFRe[95];
    I = SFIm[94] + SFIm[95];
    SFRe[95] = SFRe[94] - SFRe[95];
    SFIm[95] = SFIm[94] - SFIm[95];
    SFRe[94] = R;
    SFIm[94] = I;
    R = SFRe[92] + SFRe[93];
    I = SFIm[92] + SFIm[93];
    SFRe[93] = SFRe[92] - SFRe[93];
    SFIm[93] = SFIm[92] - SFIm[93];
    SFRe[92] = R;
    SFIm[92] = I;
    Re0 = SFRe[88]; Im0 = SFIm[88];
    Re1 = SFRe[89]; Im1 = SFIm[89];
    Re2 = SFRe[90]; Im2 = SFIm[90];
    Re3 = SFRe[91]; Im3 = SFIm[91];
    SFRe[88] = Re0 + Re1; SFIm[88] = Im0 + Im1;
    SFRe[89] = Re0 - Re1; SFIm[89] = Im0 - Im1;
    SFRe[90] = Re2 + Re3; SFIm[90] = Im2 + Im3;
    SFRe[91] = Im2 - Im3; SFIm[91] = Re3 - Re2;
    RA = SFRe[88] + SFRe[90];
    IA = SFIm[88] + SFIm[90];
    SFRe[90] = SFRe[88] - SFRe[90];
    SFIm[90] = SFIm[88] - SFIm[90];
    SFRe[88] = RA;
    SFIm[88] = IA;
    RA = SFRe[89] + SFRe[91];
    IA = SFIm[89] + SFIm[91];
    SFRe[91] = SFRe[89] - SFRe[91];
    SFIm[91] = SFIm[89] - SFIm[91];
    SFRe[89] = RA;
    SFIm[89] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[92];
    I = SFIm[92];
    SFRe[92] = R * RF1 - I * IF1;
    SFIm[92] = R * IF1 + I * RF1;
    R = SFRe[94];
    I = SFIm[94];
    SFRe[94] = R * RF2 - I * IF2;
    SFIm[94] = R * IF2 + I * RF2;
    R = SFRe[94];
    I = SFIm[94];
    SFRe[94] = SFIm[92] - I;
    SFIm[94] = R - SFRe[92];
    SFRe[92] += R;
    SFIm[92] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[93];
    I = SFIm[93];
    SFRe[93] = R * RF1 - I * IF1;
    SFIm[93] = R * IF1 + I * RF1;
    R = SFRe[95];
    I = SFIm[95];
    SFRe[95] = R * RF2 - I * IF2;
    SFIm[95] = R * IF2 + I * RF2;
    R = SFRe[95];
    I = SFIm[95];
    SFRe[95] = SFIm[93] - I;
    SFIm[95] = R - SFRe[93];
    SFRe[93] += R;
    SFIm[93] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 88), _mm_load_ps(SFRe + 92));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 88), _mm_load_ps(SFIm + 92));
    _mm_store_ps(SFRe + 92, _mm_sub_ps(_mm_load_ps(SFRe + 88), _mm_load_ps(SFRe + 92)));
    _mm_store_ps(SFIm + 92, _mm_sub_ps(_mm_load_ps(SFIm + 88), _mm_load_ps(SFIm + 92)));
    _mm_store_ps(SFRe + 88, mR);
    _mm_store_ps(SFIm + 88, mI);
    R = SFRe[86] + SFRe[87];
    I = SFIm[86] + SFIm[87];
    SFRe[87] = SFRe[86] - SFRe[87];
    SFIm[87] = SFIm[86] - SFIm[87];
    SFRe[86] = R;
    SFIm[86] = I;
    R = SFRe[84] + SFRe[85];
    I = SFIm[84] + SFIm[85];
    SFRe[85] = SFRe[84] - SFRe[85];
    SFIm[85] = SFIm[84] - SFIm[85];
    SFRe[84] = R;
    SFIm[84] = I;
    Re0 = SFRe[80]; Im0 = SFIm[80];
    Re1 = SFRe[81]; Im1 = SFIm[81];
    Re2 = SFRe[82]; Im2 = SFIm[82];
    Re3 = SFRe[83]; Im3 = SFIm[83];
    SFRe[80] = Re0 + Re1; SFIm[80] = Im0 + Im1;
    SFRe[81] = Re0 - Re1; SFIm[81] = Im0 - Im1;
    SFRe[82] = Re2 + Re3; SFIm[82] = Im2 + Im3;
    SFRe[83] = Im2 - Im3; SFIm[83] = Re3 - Re2;
    RA = SFRe[80] + SFRe[82];
    IA = SFIm[80] + SFIm[82];
    SFRe[82] = SFRe[80] - SFRe[82];
    SFIm[82] = SFIm[80] - SFIm[82];
    SFRe[80] = RA;
    SFIm[80] = IA;
    RA = SFRe[81] + SFRe[83];
    IA = SFIm[81] + SFIm[83];
    SFRe[83] = SFRe[81] - SFRe[83];
    SFIm[83] = SFIm[81] - SFIm[83];
    SFRe[81] = RA;
    SFIm[81] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[84];
    I = SFIm[84];
    SFRe[84] = R * RF1 - I * IF1;
    SFIm[84] = R * IF1 + I * RF1;
    R = SFRe[86];
    I = SFIm[86];
    SFRe[86] = R * RF2 - I * IF2;
    SFIm[86] = R * IF2 + I * RF2;
    R = SFRe[86];
    I = SFIm[86];
    SFRe[86] = SFIm[84] - I;
    SFIm[86] = R - SFRe[84];
    SFRe[84] += R;
    SFIm[84] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[85];
    I = SFIm[85];
    SFRe[85] = R * RF1 - I * IF1;
    SFIm[85] = R * IF1 + I * RF1;
    R = SFRe[87];
    I = SFIm[87];
    SFRe[87] = R * RF2 - I * IF2;
    SFIm[87] = R * IF2 + I * RF2;
    R = SFRe[87];
    I = SFIm[87];
    SFRe[87] = SFIm[85] - I;
    SFIm[87] = R - SFRe[85];
    SFRe[85] += R;
    SFIm[85] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 80), _mm_load_ps(SFRe + 84));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 80), _mm_load_ps(SFIm + 84));
    _mm_store_ps(SFRe + 84, _mm_sub_ps(_mm_load_ps(SFRe + 80), _mm_load_ps(SFRe + 84)));
    _mm_store_ps(SFIm + 84, _mm_sub_ps(_mm_load_ps(SFIm + 80), _mm_load_ps(SFIm + 84)));
    _mm_store_ps(SFRe + 80, mR);
    _mm_store_ps(SFIm + 80, mI);
    Re0 = SFRe[76]; Im0 = SFIm[76];
    Re1 = SFRe[77]; Im1 = SFIm[77];
    Re2 = SFRe[78]; Im2 = SFIm[78];
    Re3 = SFRe[79]; Im3 = SFIm[79];
    SFRe[76] = Re0 + Re1; SFIm[76] = Im0 + Im1;
    SFRe[77] = Re0 - Re1; SFIm[77] = Im0 - Im1;
    SFRe[78] = Re2 + Re3; SFIm[78] = Im2 + Im3;
    SFRe[79] = Im2 - Im3; SFIm[79] = Re3 - Re2;
    RA = SFRe[76] + SFRe[78];
    IA = SFIm[76] + SFIm[78];
    SFRe[78] = SFRe[76] - SFRe[78];
    SFIm[78] = SFIm[76] - SFIm[78];
    SFRe[76] = RA;
    SFIm[76] = IA;
    RA = SFRe[77] + SFRe[79];
    IA = SFIm[77] + SFIm[79];
    SFRe[79] = SFRe[77] - SFRe[79];
    SFIm[79] = SFIm[77] - SFIm[79];
    SFRe[77] = RA;
    SFIm[77] = IA;
    Re0 = SFRe[72]; Im0 = SFIm[72];
    Re1 = SFRe[73]; Im1 = SFIm[73];
    Re2 = SFRe[74]; Im2 = SFIm[74];
    Re3 = SFRe[75]; Im3 = SFIm[75];
    SFRe[72] = Re0 + Re1; SFIm[72] = Im0 + Im1;
    SFRe[73] = Re0 - Re1; SFIm[73] = Im0 - Im1;
    SFRe[74] = Re2 + Re3; SFIm[74] = Im2 + Im3;
    SFRe[75] = Im2 - Im3; SFIm[75] = Re3 - Re2;
    RA = SFRe[72] + SFRe[74];
    IA = SFIm[72] + SFIm[74];
    SFRe[74] = SFRe[72] - SFRe[74];
    SFIm[74] = SFIm[72] - SFIm[74];
    SFRe[72] = RA;
    SFIm[72] = IA;
    RA = SFRe[73] + SFRe[75];
    IA = SFIm[73] + SFIm[75];
    SFRe[75] = SFRe[73] - SFRe[75];
    SFIm[75] = SFIm[73] - SFIm[75];
    SFRe[73] = RA;
    SFIm[73] = IA;
    R = SFRe[70] + SFRe[71];
    I = SFIm[70] + SFIm[71];
    SFRe[71] = SFRe[70] - SFRe[71];
    SFIm[71] = SFIm[70] - SFIm[71];
    SFRe[70] = R;
    SFIm[70] = I;
    R = SFRe[68] + SFRe[69];
    I = SFIm[68] + SFIm[69];
    SFRe[69] = SFRe[68] - SFRe[69];
    SFIm[69] = SFIm[68] - SFIm[69];
    SFRe[68] = R;
    SFIm[68] = I;
    Re0 = SFRe[64]; Im0 = SFIm[64];
    Re1 = SFRe[65]; Im1 = SFIm[65];
    Re2 = SFRe[66]; Im2 = SFIm[66];
    Re3 = SFRe[67]; Im3 = SFIm[67];
    SFRe[64] = Re0 + Re1; SFIm[64] = Im0 + Im1;
    SFRe[65] = Re0 - Re1; SFIm[65] = Im0 - Im1;
    SFRe[66] = Re2 + Re3; SFIm[66] = Im2 + Im3;
    SFRe[67] = Im2 - Im3; SFIm[67] = Re3 - Re2;
    RA = SFRe[64] + SFRe[66];
    IA = SFIm[64] + SFIm[66];
    SFRe[66] = SFRe[64] - SFRe[66];
    SFIm[66] = SFIm[64] - SFIm[66];
    SFRe[64] = RA;
    SFIm[64] = IA;
    RA = SFRe[65] + SFRe[67];
    IA = SFIm[65] + SFIm[67];
    SFRe[67] = SFRe[65] - SFRe[67];
    SFIm[67] = SFIm[65] - SFIm[67];
    SFRe[65] = RA;
    SFIm[65] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[68];
    I = SFIm[68];
    SFRe[68] = R * RF1 - I * IF1;
    SFIm[68] = R * IF1 + I * RF1;
    R = SFRe[70];
    I = SFIm[70];
    SFRe[70] = R * RF2 - I * IF2;
    SFIm[70] = R * IF2 + I * RF2;
    R = SFRe[70];
    I = SFIm[70];
    SFRe[70] = SFIm[68] - I;
    SFIm[70] = R - SFRe[68];
    SFRe[68] += R;
    SFIm[68] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[69];
    I = SFIm[69];
    SFRe[69] = R * RF1 - I * IF1;
    SFIm[69] = R * IF1 + I * RF1;
    R = SFRe[71];
    I = SFIm[71];
    SFRe[71] = R * RF2 - I * IF2;
    SFIm[71] = R * IF2 + I * RF2;
    R = SFRe[71];
    I = SFIm[71];
    SFRe[71] = SFIm[69] - I;
    SFIm[71] = R - SFRe[69];
    SFRe[69] += R;
    SFIm[69] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 68));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 68));
    _mm_store_ps(SFRe + 68, _mm_sub_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 68)));
    _mm_store_ps(SFIm + 68, _mm_sub_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 68)));
    _mm_store_ps(SFRe + 64, mR);
    _mm_store_ps(SFIm + 64, mI);
    mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
    mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
    mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
    mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
    mR = _mm_load_ps(SFRe + 72);
    mI = _mm_load_ps(SFIm + 72);
    _mm_store_ps(SFRe + 72, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 72, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 76);
    mI = _mm_load_ps(SFIm + 76);
    _mm_store_ps(SFRe + 76, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 76, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 76);
    mI = _mm_load_ps(SFIm + 76);
    _mm_store_ps(SFRe + 76, _mm_sub_ps(_mm_load_ps(SFIm + 72), mI));
    _mm_store_ps(SFIm + 76, _mm_sub_ps(mR, _mm_load_ps(SFRe + 72)));
    _mm_store_ps(SFRe + 72, _mm_add_ps(_mm_load_ps(SFRe + 72), mR));
    _mm_store_ps(SFIm + 72, _mm_add_ps(_mm_load_ps(SFIm + 72), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 72));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 72));
    _mm_store_ps(SFRe + 72, _mm_sub_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 72)));
    _mm_store_ps(SFIm + 72, _mm_sub_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 72)));
    _mm_store_ps(SFRe + 64, mR);
    _mm_store_ps(SFIm + 64, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 68), _mm_load_ps(SFRe + 76));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 68), _mm_load_ps(SFIm + 76));
    _mm_store_ps(SFRe + 76, _mm_sub_ps(_mm_load_ps(SFRe + 68), _mm_load_ps(SFRe + 76)));
    _mm_store_ps(SFIm + 76, _mm_sub_ps(_mm_load_ps(SFIm + 68), _mm_load_ps(SFIm + 76)));
    _mm_store_ps(SFRe + 68, mR);
    _mm_store_ps(SFIm + 68, mI);
    mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
    mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
    mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
    mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
    mR = _mm_load_ps(SFRe + 80);
    mI = _mm_load_ps(SFIm + 80);
    _mm_store_ps(SFRe + 80, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 80, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 88);
    mI = _mm_load_ps(SFIm + 88);
    _mm_store_ps(SFRe + 88, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 88, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 88);
    mI = _mm_load_ps(SFIm + 88);
    _mm_store_ps(SFRe + 88, _mm_sub_ps(_mm_load_ps(SFIm + 80), mI));
    _mm_store_ps(SFIm + 88, _mm_sub_ps(mR, _mm_load_ps(SFRe + 80)));
    _mm_store_ps(SFRe + 80, _mm_add_ps(_mm_load_ps(SFRe + 80), mR));
    _mm_store_ps(SFIm + 80, _mm_add_ps(_mm_load_ps(SFIm + 80), mI));
    mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
    mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
    mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
    mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
    mR = _mm_load_ps(SFRe + 84);
    mI = _mm_load_ps(SFIm + 84);
    _mm_store_ps(SFRe + 84, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 84, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 92);
    mI = _mm_load_ps(SFIm + 92);
    _mm_store_ps(SFRe + 92, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 92, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 92);
    mI = _mm_load_ps(SFIm + 92);
    _mm_store_ps(SFRe + 92, _mm_sub_ps(_mm_load_ps(SFIm + 84), mI));
    _mm_store_ps(SFIm + 92, _mm_sub_ps(mR, _mm_load_ps(SFRe + 84)));
    _mm_store_ps(SFRe + 84, _mm_add_ps(_mm_load_ps(SFRe + 84), mR));
    _mm_store_ps(SFIm + 84, _mm_add_ps(_mm_load_ps(SFIm + 84), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 80));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 80));
    _mm_store_ps(SFRe + 80, _mm_sub_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 80)));
    _mm_store_ps(SFIm + 80, _mm_sub_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 80)));
    _mm_store_ps(SFRe + 64, mR);
    _mm_store_ps(SFIm + 64, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 68), _mm_load_ps(SFRe + 84));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 68), _mm_load_ps(SFIm + 84));
    _mm_store_ps(SFRe + 84, _mm_sub_ps(_mm_load_ps(SFRe + 68), _mm_load_ps(SFRe + 84)));
    _mm_store_ps(SFIm + 84, _mm_sub_ps(_mm_load_ps(SFIm + 68), _mm_load_ps(SFIm + 84)));
    _mm_store_ps(SFRe + 68, mR);
    _mm_store_ps(SFIm + 68, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 72), _mm_load_ps(SFRe + 88));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 72), _mm_load_ps(SFIm + 88));
    _mm_store_ps(SFRe + 88, _mm_sub_ps(_mm_load_ps(SFRe + 72), _mm_load_ps(SFRe + 88)));
    _mm_store_ps(SFIm + 88, _mm_sub_ps(_mm_load_ps(SFIm + 72), _mm_load_ps(SFIm + 88)));
    _mm_store_ps(SFRe + 72, mR);
    _mm_store_ps(SFIm + 72, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 76), _mm_load_ps(SFRe + 92));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 76), _mm_load_ps(SFIm + 92));
    _mm_store_ps(SFRe + 92, _mm_sub_ps(_mm_load_ps(SFRe + 76), _mm_load_ps(SFRe + 92)));
    _mm_store_ps(SFIm + 92, _mm_sub_ps(_mm_load_ps(SFIm + 76), _mm_load_ps(SFIm + 92)));
    _mm_store_ps(SFRe + 76, mR);
    _mm_store_ps(SFIm + 76, mI);
    Re0 = SFRe[60]; Im0 = SFIm[60];
    Re1 = SFRe[61]; Im1 = SFIm[61];
    Re2 = SFRe[62]; Im2 = SFIm[62];
    Re3 = SFRe[63]; Im3 = SFIm[63];
    SFRe[60] = Re0 + Re1; SFIm[60] = Im0 + Im1;
    SFRe[61] = Re0 - Re1; SFIm[61] = Im0 - Im1;
    SFRe[62] = Re2 + Re3; SFIm[62] = Im2 + Im3;
    SFRe[63] = Im2 - Im3; SFIm[63] = Re3 - Re2;
    RA = SFRe[60] + SFRe[62];
    IA = SFIm[60] + SFIm[62];
    SFRe[62] = SFRe[60] - SFRe[62];
    SFIm[62] = SFIm[60] - SFIm[62];
    SFRe[60] = RA;
    SFIm[60] = IA;
    RA = SFRe[61] + SFRe[63];
    IA = SFIm[61] + SFIm[63];
    SFRe[63] = SFRe[61] - SFRe[63];
    SFIm[63] = SFIm[61] - SFIm[63];
    SFRe[61] = RA;
    SFIm[61] = IA;
    Re0 = SFRe[56]; Im0 = SFIm[56];
    Re1 = SFRe[57]; Im1 = SFIm[57];
    Re2 = SFRe[58]; Im2 = SFIm[58];
    Re3 = SFRe[59]; Im3 = SFIm[59];
    SFRe[56] = Re0 + Re1; SFIm[56] = Im0 + Im1;
    SFRe[57] = Re0 - Re1; SFIm[57] = Im0 - Im1;
    SFRe[58] = Re2 + Re3; SFIm[58] = Im2 + Im3;
    SFRe[59] = Im2 - Im3; SFIm[59] = Re3 - Re2;
    RA = SFRe[56] + SFRe[58];
    IA = SFIm[56] + SFIm[58];
    SFRe[58] = SFRe[56] - SFRe[58];
    SFIm[58] = SFIm[56] - SFIm[58];
    SFRe[56] = RA;
    SFIm[56] = IA;
    RA = SFRe[57] + SFRe[59];
    IA = SFIm[57] + SFIm[59];
    SFRe[59] = SFRe[57] - SFRe[59];
    SFIm[59] = SFIm[57] - SFIm[59];
    SFRe[57] = RA;
    SFIm[57] = IA;
    R = SFRe[54] + SFRe[55];
    I = SFIm[54] + SFIm[55];
    SFRe[55] = SFRe[54] - SFRe[55];
    SFIm[55] = SFIm[54] - SFIm[55];
    SFRe[54] = R;
    SFIm[54] = I;
    R = SFRe[52] + SFRe[53];
    I = SFIm[52] + SFIm[53];
    SFRe[53] = SFRe[52] - SFRe[53];
    SFIm[53] = SFIm[52] - SFIm[53];
    SFRe[52] = R;
    SFIm[52] = I;
    Re0 = SFRe[48]; Im0 = SFIm[48];
    Re1 = SFRe[49]; Im1 = SFIm[49];
    Re2 = SFRe[50]; Im2 = SFIm[50];
    Re3 = SFRe[51]; Im3 = SFIm[51];
    SFRe[48] = Re0 + Re1; SFIm[48] = Im0 + Im1;
    SFRe[49] = Re0 - Re1; SFIm[49] = Im0 - Im1;
    SFRe[50] = Re2 + Re3; SFIm[50] = Im2 + Im3;
    SFRe[51] = Im2 - Im3; SFIm[51] = Re3 - Re2;
    RA = SFRe[48] + SFRe[50];
    IA = SFIm[48] + SFIm[50];
    SFRe[50] = SFRe[48] - SFRe[50];
    SFIm[50] = SFIm[48] - SFIm[50];
    SFRe[48] = RA;
    SFIm[48] = IA;
    RA = SFRe[49] + SFRe[51];
    IA = SFIm[49] + SFIm[51];
    SFRe[51] = SFRe[49] - SFRe[51];
    SFIm[51] = SFIm[49] - SFIm[51];
    SFRe[49] = RA;
    SFIm[49] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[52];
    I = SFIm[52];
    SFRe[52] = R * RF1 - I * IF1;
    SFIm[52] = R * IF1 + I * RF1;
    R = SFRe[54];
    I = SFIm[54];
    SFRe[54] = R * RF2 - I * IF2;
    SFIm[54] = R * IF2 + I * RF2;
    R = SFRe[54];
    I = SFIm[54];
    SFRe[54] = SFIm[52] - I;
    SFIm[54] = R - SFRe[52];
    SFRe[52] += R;
    SFIm[52] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[53];
    I = SFIm[53];
    SFRe[53] = R * RF1 - I * IF1;
    SFIm[53] = R * IF1 + I * RF1;
    R = SFRe[55];
    I = SFIm[55];
    SFRe[55] = R * RF2 - I * IF2;
    SFIm[55] = R * IF2 + I * RF2;
    R = SFRe[55];
    I = SFIm[55];
    SFRe[55] = SFIm[53] - I;
    SFIm[55] = R - SFRe[53];
    SFRe[53] += R;
    SFIm[53] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 52));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 52));
    _mm_store_ps(SFRe + 52, _mm_sub_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 52)));
    _mm_store_ps(SFIm + 52, _mm_sub_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 52)));
    _mm_store_ps(SFRe + 48, mR);
    _mm_store_ps(SFIm + 48, mI);
    mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
    mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
    mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
    mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
    mR = _mm_load_ps(SFRe + 56);
    mI = _mm_load_ps(SFIm + 56);
    _mm_store_ps(SFRe + 56, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 56, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 60);
    mI = _mm_load_ps(SFIm + 60);
    _mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 60, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 60);
    mI = _mm_load_ps(SFIm + 60);
    _mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_load_ps(SFIm + 56), mI));
    _mm_store_ps(SFIm + 60, _mm_sub_ps(mR, _mm_load_ps(SFRe + 56)));
    _mm_store_ps(SFRe + 56, _mm_add_ps(_mm_load_ps(SFRe + 56), mR));
    _mm_store_ps(SFIm + 56, _mm_add_ps(_mm_load_ps(SFIm + 56), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 56));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 56));
    _mm_store_ps(SFRe + 56, _mm_sub_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 56)));
    _mm_store_ps(SFIm + 56, _mm_sub_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 56)));
    _mm_store_ps(SFRe + 48, mR);
    _mm_store_ps(SFIm + 48, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 52), _mm_load_ps(SFRe + 60));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 52), _mm_load_ps(SFIm + 60));
    _mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_load_ps(SFRe + 52), _mm_load_ps(SFRe + 60)));
    _mm_store_ps(SFIm + 60, _mm_sub_ps(_mm_load_ps(SFIm + 52), _mm_load_ps(SFIm + 60)));
    _mm_store_ps(SFRe + 52, mR);
    _mm_store_ps(SFIm + 52, mI);
    Re0 = SFRe[44]; Im0 = SFIm[44];
    Re1 = SFRe[45]; Im1 = SFIm[45];
    Re2 = SFRe[46]; Im2 = SFIm[46];
    Re3 = SFRe[47]; Im3 = SFIm[47];
    SFRe[44] = Re0 + Re1; SFIm[44] = Im0 + Im1;
    SFRe[45] = Re0 - Re1; SFIm[45] = Im0 - Im1;
    SFRe[46] = Re2 + Re3; SFIm[46] = Im2 + Im3;
    SFRe[47] = Im2 - Im3; SFIm[47] = Re3 - Re2;
    RA = SFRe[44] + SFRe[46];
    IA = SFIm[44] + SFIm[46];
    SFRe[46] = SFRe[44] - SFRe[46];
    SFIm[46] = SFIm[44] - SFIm[46];
    SFRe[44] = RA;
    SFIm[44] = IA;
    RA = SFRe[45] + SFRe[47];
    IA = SFIm[45] + SFIm[47];
    SFRe[47] = SFRe[45] - SFRe[47];
    SFIm[47] = SFIm[45] - SFIm[47];
    SFRe[45] = RA;
    SFIm[45] = IA;
    Re0 = SFRe[40]; Im0 = SFIm[40];
    Re1 = SFRe[41]; Im1 = SFIm[41];
    Re2 = SFRe[42]; Im2 = SFIm[42];
    Re3 = SFRe[43]; Im3 = SFIm[43];
    SFRe[40] = Re0 + Re1; SFIm[40] = Im0 + Im1;
    SFRe[41] = Re0 - Re1; SFIm[41] = Im0 - Im1;
    SFRe[42] = Re2 + Re3; SFIm[42] = Im2 + Im3;
    SFRe[43] = Im2 - Im3; SFIm[43] = Re3 - Re2;
    RA = SFRe[40] + SFRe[42];
    IA = SFIm[40] + SFIm[42];
    SFRe[42] = SFRe[40] - SFRe[42];
    SFIm[42] = SFIm[40] - SFIm[42];
    SFRe[40] = RA;
    SFIm[40] = IA;
    RA = SFRe[41] + SFRe[43];
    IA = SFIm[41] + SFIm[43];
    SFRe[43] = SFRe[41] - SFRe[43];
    SFIm[43] = SFIm[41] - SFIm[43];
    SFRe[41] = RA;
    SFIm[41] = IA;
    R = SFRe[38] + SFRe[39];
    I = SFIm[38] + SFIm[39];
    SFRe[39] = SFRe[38] - SFRe[39];
    SFIm[39] = SFIm[38] - SFIm[39];
    SFRe[38] = R;
    SFIm[38] = I;
    R = SFRe[36] + SFRe[37];
    I = SFIm[36] + SFIm[37];
    SFRe[37] = SFRe[36] - SFRe[37];
    SFIm[37] = SFIm[36] - SFIm[37];
    SFRe[36] = R;
    SFIm[36] = I;
    Re0 = SFRe[32]; Im0 = SFIm[32];
    Re1 = SFRe[33]; Im1 = SFIm[33];
    Re2 = SFRe[34]; Im2 = SFIm[34];
    Re3 = SFRe[35]; Im3 = SFIm[35];
    SFRe[32] = Re0 + Re1; SFIm[32] = Im0 + Im1;
    SFRe[33] = Re0 - Re1; SFIm[33] = Im0 - Im1;
    SFRe[34] = Re2 + Re3; SFIm[34] = Im2 + Im3;
    SFRe[35] = Im2 - Im3; SFIm[35] = Re3 - Re2;
    RA = SFRe[32] + SFRe[34];
    IA = SFIm[32] + SFIm[34];
    SFRe[34] = SFRe[32] - SFRe[34];
    SFIm[34] = SFIm[32] - SFIm[34];
    SFRe[32] = RA;
    SFIm[32] = IA;
    RA = SFRe[33] + SFRe[35];
    IA = SFIm[33] + SFIm[35];
    SFRe[35] = SFRe[33] - SFRe[35];
    SFIm[35] = SFIm[33] - SFIm[35];
    SFRe[33] = RA;
    SFIm[33] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[36];
    I = SFIm[36];
    SFRe[36] = R * RF1 - I * IF1;
    SFIm[36] = R * IF1 + I * RF1;
    R = SFRe[38];
    I = SFIm[38];
    SFRe[38] = R * RF2 - I * IF2;
    SFIm[38] = R * IF2 + I * RF2;
    R = SFRe[38];
    I = SFIm[38];
    SFRe[38] = SFIm[36] - I;
    SFIm[38] = R - SFRe[36];
    SFRe[36] += R;
    SFIm[36] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[37];
    I = SFIm[37];
    SFRe[37] = R * RF1 - I * IF1;
    SFIm[37] = R * IF1 + I * RF1;
    R = SFRe[39];
    I = SFIm[39];
    SFRe[39] = R * RF2 - I * IF2;
    SFIm[39] = R * IF2 + I * RF2;
    R = SFRe[39];
    I = SFIm[39];
    SFRe[39] = SFIm[37] - I;
    SFIm[39] = R - SFRe[37];
    SFRe[37] += R;
    SFIm[37] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 36));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 36));
    _mm_store_ps(SFRe + 36, _mm_sub_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 36)));
    _mm_store_ps(SFIm + 36, _mm_sub_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 36)));
    _mm_store_ps(SFRe + 32, mR);
    _mm_store_ps(SFIm + 32, mI);
    mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
    mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
    mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
    mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
    mR = _mm_load_ps(SFRe + 40);
    mI = _mm_load_ps(SFIm + 40);
    _mm_store_ps(SFRe + 40, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 40, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 44);
    mI = _mm_load_ps(SFIm + 44);
    _mm_store_ps(SFRe + 44, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 44, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 44);
    mI = _mm_load_ps(SFIm + 44);
    _mm_store_ps(SFRe + 44, _mm_sub_ps(_mm_load_ps(SFIm + 40), mI));
    _mm_store_ps(SFIm + 44, _mm_sub_ps(mR, _mm_load_ps(SFRe + 40)));
    _mm_store_ps(SFRe + 40, _mm_add_ps(_mm_load_ps(SFRe + 40), mR));
    _mm_store_ps(SFIm + 40, _mm_add_ps(_mm_load_ps(SFIm + 40), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 40));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 40));
    _mm_store_ps(SFRe + 40, _mm_sub_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 40)));
    _mm_store_ps(SFIm + 40, _mm_sub_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 40)));
    _mm_store_ps(SFRe + 32, mR);
    _mm_store_ps(SFIm + 32, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 36), _mm_load_ps(SFRe + 44));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 36), _mm_load_ps(SFIm + 44));
    _mm_store_ps(SFRe + 44, _mm_sub_ps(_mm_load_ps(SFRe + 36), _mm_load_ps(SFRe + 44)));
    _mm_store_ps(SFIm + 44, _mm_sub_ps(_mm_load_ps(SFIm + 36), _mm_load_ps(SFIm + 44)));
    _mm_store_ps(SFRe + 36, mR);
    _mm_store_ps(SFIm + 36, mI);
    R = SFRe[30] + SFRe[31];
    I = SFIm[30] + SFIm[31];
    SFRe[31] = SFRe[30] - SFRe[31];
    SFIm[31] = SFIm[30] - SFIm[31];
    SFRe[30] = R;
    SFIm[30] = I;
    R = SFRe[28] + SFRe[29];
    I = SFIm[28] + SFIm[29];
    SFRe[29] = SFRe[28] - SFRe[29];
    SFIm[29] = SFIm[28] - SFIm[29];
    SFRe[28] = R;
    SFIm[28] = I;
    Re0 = SFRe[24]; Im0 = SFIm[24];
    Re1 = SFRe[25]; Im1 = SFIm[25];
    Re2 = SFRe[26]; Im2 = SFIm[26];
    Re3 = SFRe[27]; Im3 = SFIm[27];
    SFRe[24] = Re0 + Re1; SFIm[24] = Im0 + Im1;
    SFRe[25] = Re0 - Re1; SFIm[25] = Im0 - Im1;
    SFRe[26] = Re2 + Re3; SFIm[26] = Im2 + Im3;
    SFRe[27] = Im2 - Im3; SFIm[27] = Re3 - Re2;
    RA = SFRe[24] + SFRe[26];
    IA = SFIm[24] + SFIm[26];
    SFRe[26] = SFRe[24] - SFRe[26];
    SFIm[26] = SFIm[24] - SFIm[26];
    SFRe[24] = RA;
    SFIm[24] = IA;
    RA = SFRe[25] + SFRe[27];
    IA = SFIm[25] + SFIm[27];
    SFRe[27] = SFRe[25] - SFRe[27];
    SFIm[27] = SFIm[25] - SFIm[27];
    SFRe[25] = RA;
    SFIm[25] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[28];
    I = SFIm[28];
    SFRe[28] = R * RF1 - I * IF1;
    SFIm[28] = R * IF1 + I * RF1;
    R = SFRe[30];
    I = SFIm[30];
    SFRe[30] = R * RF2 - I * IF2;
    SFIm[30] = R * IF2 + I * RF2;
    R = SFRe[30];
    I = SFIm[30];
    SFRe[30] = SFIm[28] - I;
    SFIm[30] = R - SFRe[28];
    SFRe[28] += R;
    SFIm[28] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[29];
    I = SFIm[29];
    SFRe[29] = R * RF1 - I * IF1;
    SFIm[29] = R * IF1 + I * RF1;
    R = SFRe[31];
    I = SFIm[31];
    SFRe[31] = R * RF2 - I * IF2;
    SFIm[31] = R * IF2 + I * RF2;
    R = SFRe[31];
    I = SFIm[31];
    SFRe[31] = SFIm[29] - I;
    SFIm[31] = R - SFRe[29];
    SFRe[29] += R;
    SFIm[29] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 28));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 28));
    _mm_store_ps(SFRe + 28, _mm_sub_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 28)));
    _mm_store_ps(SFIm + 28, _mm_sub_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 28)));
    _mm_store_ps(SFRe + 24, mR);
    _mm_store_ps(SFIm + 24, mI);
    R = SFRe[22] + SFRe[23];
    I = SFIm[22] + SFIm[23];
    SFRe[23] = SFRe[22] - SFRe[23];
    SFIm[23] = SFIm[22] - SFIm[23];
    SFRe[22] = R;
    SFIm[22] = I;
    R = SFRe[20] + SFRe[21];
    I = SFIm[20] + SFIm[21];
    SFRe[21] = SFRe[20] - SFRe[21];
    SFIm[21] = SFIm[20] - SFIm[21];
    SFRe[20] = R;
    SFIm[20] = I;
    Re0 = SFRe[16]; Im0 = SFIm[16];
    Re1 = SFRe[17]; Im1 = SFIm[17];
    Re2 = SFRe[18]; Im2 = SFIm[18];
    Re3 = SFRe[19]; Im3 = SFIm[19];
    SFRe[16] = Re0 + Re1; SFIm[16] = Im0 + Im1;
    SFRe[17] = Re0 - Re1; SFIm[17] = Im0 - Im1;
    SFRe[18] = Re2 + Re3; SFIm[18] = Im2 + Im3;
    SFRe[19] = Im2 - Im3; SFIm[19] = Re3 - Re2;
    RA = SFRe[16] + SFRe[18];
    IA = SFIm[16] + SFIm[18];
    SFRe[18] = SFRe[16] - SFRe[18];
    SFIm[18] = SFIm[16] - SFIm[18];
    SFRe[16] = RA;
    SFIm[16] = IA;
    RA = SFRe[17] + SFRe[19];
    IA = SFIm[17] + SFIm[19];
    SFRe[19] = SFRe[17] - SFRe[19];
    SFIm[19] = SFIm[17] - SFIm[19];
    SFRe[17] = RA;
    SFIm[17] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[20];
    I = SFIm[20];
    SFRe[20] = R * RF1 - I * IF1;
    SFIm[20] = R * IF1 + I * RF1;
    R = SFRe[22];
    I = SFIm[22];
    SFRe[22] = R * RF2 - I * IF2;
    SFIm[22] = R * IF2 + I * RF2;
    R = SFRe[22];
    I = SFIm[22];
    SFRe[22] = SFIm[20] - I;
    SFIm[22] = R - SFRe[20];
    SFRe[20] += R;
    SFIm[20] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[21];
    I = SFIm[21];
    SFRe[21] = R * RF1 - I * IF1;
    SFIm[21] = R * IF1 + I * RF1;
    R = SFRe[23];
    I = SFIm[23];
    SFRe[23] = R * RF2 - I * IF2;
    SFIm[23] = R * IF2 + I * RF2;
    R = SFRe[23];
    I = SFIm[23];
    SFRe[23] = SFIm[21] - I;
    SFIm[23] = R - SFRe[21];
    SFRe[21] += R;
    SFIm[21] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 20));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 20));
    _mm_store_ps(SFRe + 20, _mm_sub_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 20)));
    _mm_store_ps(SFIm + 20, _mm_sub_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 20)));
    _mm_store_ps(SFRe + 16, mR);
    _mm_store_ps(SFIm + 16, mI);
    Re0 = SFRe[12]; Im0 = SFIm[12];
    Re1 = SFRe[13]; Im1 = SFIm[13];
    Re2 = SFRe[14]; Im2 = SFIm[14];
    Re3 = SFRe[15]; Im3 = SFIm[15];
    SFRe[12] = Re0 + Re1; SFIm[12] = Im0 + Im1;
    SFRe[13] = Re0 - Re1; SFIm[13] = Im0 - Im1;
    SFRe[14] = Re2 + Re3; SFIm[14] = Im2 + Im3;
    SFRe[15] = Im2 - Im3; SFIm[15] = Re3 - Re2;
    RA = SFRe[12] + SFRe[14];
    IA = SFIm[12] + SFIm[14];
    SFRe[14] = SFRe[12] - SFRe[14];
    SFIm[14] = SFIm[12] - SFIm[14];
    SFRe[12] = RA;
    SFIm[12] = IA;
    RA = SFRe[13] + SFRe[15];
    IA = SFIm[13] + SFIm[15];
    SFRe[15] = SFRe[13] - SFRe[15];
    SFIm[15] = SFIm[13] - SFIm[15];
    SFRe[13] = RA;
    SFIm[13] = IA;
    Re0 = SFRe[8]; Im0 = SFIm[8];
    Re1 = SFRe[9]; Im1 = SFIm[9];
    Re2 = SFRe[10]; Im2 = SFIm[10];
    Re3 = SFRe[11]; Im3 = SFIm[11];
    SFRe[8] = Re0 + Re1; SFIm[8] = Im0 + Im1;
    SFRe[9] = Re0 - Re1; SFIm[9] = Im0 - Im1;
    SFRe[10] = Re2 + Re3; SFIm[10] = Im2 + Im3;
    SFRe[11] = Im2 - Im3; SFIm[11] = Re3 - Re2;
    RA = SFRe[8] + SFRe[10];
    IA = SFIm[8] + SFIm[10];
    SFRe[10] = SFRe[8] - SFRe[10];
    SFIm[10] = SFIm[8] - SFIm[10];
    SFRe[8] = RA;
    SFIm[8] = IA;
    RA = SFRe[9] + SFRe[11];
    IA = SFIm[9] + SFIm[11];
    SFRe[11] = SFRe[9] - SFRe[11];
    SFIm[11] = SFIm[9] - SFIm[11];
    SFRe[9] = RA;
    SFIm[9] = IA;
    R = SFRe[6] + SFRe[7];
    I = SFIm[6] + SFIm[7];
    SFRe[7] = SFRe[6] - SFRe[7];
    SFIm[7] = SFIm[6] - SFIm[7];
    SFRe[6] = R;
    SFIm[6] = I;
    R = SFRe[4] + SFRe[5];
    I = SFIm[4] + SFIm[5];
    SFRe[5] = SFRe[4] - SFRe[5];
    SFIm[5] = SFIm[4] - SFIm[5];
    SFRe[4] = R;
    SFIm[4] = I;
    Re0 = SFRe[0]; Im0 = SFIm[0];
    Re1 = SFRe[1]; Im1 = SFIm[1];
    Re2 = SFRe[2]; Im2 = SFIm[2];
    Re3 = SFRe[3]; Im3 = SFIm[3];
    SFRe[0] = Re0 + Re1; SFIm[0] = Im0 + Im1;
    SFRe[1] = Re0 - Re1; SFIm[1] = Im0 - Im1;
    SFRe[2] = Re2 + Re3; SFIm[2] = Im2 + Im3;
    SFRe[3] = Im2 - Im3; SFIm[3] = Re3 - Re2;
    RA = SFRe[0] + SFRe[2];
    IA = SFIm[0] + SFIm[2];
    SFRe[2] = SFRe[0] - SFRe[2];
    SFIm[2] = SFIm[0] - SFIm[2];
    SFRe[0] = RA;
    SFIm[0] = IA;
    RA = SFRe[1] + SFRe[3];
    IA = SFIm[1] + SFIm[3];
    SFRe[3] = SFRe[1] - SFRe[3];
    SFIm[3] = SFIm[1] - SFIm[3];
    SFRe[1] = RA;
    SFIm[1] = IA;
    RF1 = 1.000000;
    IF1 = -0.000000;
    RF2 = 1.000000;
    IF2 = -0.000000;
    R = SFRe[4];
    I = SFIm[4];
    SFRe[4] = R * RF1 - I * IF1;
    SFIm[4] = R * IF1 + I * RF1;
    R = SFRe[6];
    I = SFIm[6];
    SFRe[6] = R * RF2 - I * IF2;
    SFIm[6] = R * IF2 + I * RF2;
    R = SFRe[6];
    I = SFIm[6];
    SFRe[6] = SFIm[4] - I;
    SFIm[6] = R - SFRe[4];
    SFRe[4] += R;
    SFIm[4] += I;
    RF1 = 0.707133;
    IF1 = -0.707080;
    RF2 = -0.707098;
    IF2 = -0.707116;
    R = SFRe[5];
    I = SFIm[5];
    SFRe[5] = R * RF1 - I * IF1;
    SFIm[5] = R * IF1 + I * RF1;
    R = SFRe[7];
    I = SFIm[7];
    SFRe[7] = R * RF2 - I * IF2;
    SFIm[7] = R * IF2 + I * RF2;
    R = SFRe[7];
    I = SFIm[7];
    SFRe[7] = SFIm[5] - I;
    SFIm[7] = R - SFRe[5];
    SFRe[5] += R;
    SFIm[5] += I;
    mR = _mm_add_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 4));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 4));
    _mm_store_ps(SFRe + 4, _mm_sub_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 4)));
    _mm_store_ps(SFIm + 4, _mm_sub_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 4)));
    _mm_store_ps(SFRe + 0, mR);
    _mm_store_ps(SFIm + 0, mI);
    mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
    mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
    mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
    mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
    mR = _mm_load_ps(SFRe + 8);
    mI = _mm_load_ps(SFIm + 8);
    _mm_store_ps(SFRe + 8, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 8, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 12);
    mI = _mm_load_ps(SFIm + 12);
    _mm_store_ps(SFRe + 12, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 12, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 12);
    mI = _mm_load_ps(SFIm + 12);
    _mm_store_ps(SFRe + 12, _mm_sub_ps(_mm_load_ps(SFIm + 8), mI));
    _mm_store_ps(SFIm + 12, _mm_sub_ps(mR, _mm_load_ps(SFRe + 8)));
    _mm_store_ps(SFRe + 8, _mm_add_ps(_mm_load_ps(SFRe + 8), mR));
    _mm_store_ps(SFIm + 8, _mm_add_ps(_mm_load_ps(SFIm + 8), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 8));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 8));
    _mm_store_ps(SFRe + 8, _mm_sub_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 8)));
    _mm_store_ps(SFIm + 8, _mm_sub_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 8)));
    _mm_store_ps(SFRe + 0, mR);
    _mm_store_ps(SFIm + 0, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 12));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 12));
    _mm_store_ps(SFRe + 12, _mm_sub_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 12)));
    _mm_store_ps(SFIm + 12, _mm_sub_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 12)));
    _mm_store_ps(SFRe + 4, mR);
    _mm_store_ps(SFIm + 4, mI);
    mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
    mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
    mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
    mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
    mR = _mm_load_ps(SFRe + 16);
    mI = _mm_load_ps(SFIm + 16);
    _mm_store_ps(SFRe + 16, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 16, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 24);
    mI = _mm_load_ps(SFIm + 24);
    _mm_store_ps(SFRe + 24, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 24, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 24);
    mI = _mm_load_ps(SFIm + 24);
    _mm_store_ps(SFRe + 24, _mm_sub_ps(_mm_load_ps(SFIm + 16), mI));
    _mm_store_ps(SFIm + 24, _mm_sub_ps(mR, _mm_load_ps(SFRe + 16)));
    _mm_store_ps(SFRe + 16, _mm_add_ps(_mm_load_ps(SFRe + 16), mR));
    _mm_store_ps(SFIm + 16, _mm_add_ps(_mm_load_ps(SFIm + 16), mI));
    mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
    mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
    mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
    mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
    mR = _mm_load_ps(SFRe + 20);
    mI = _mm_load_ps(SFIm + 20);
    _mm_store_ps(SFRe + 20, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 20, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 28);
    mI = _mm_load_ps(SFIm + 28);
    _mm_store_ps(SFRe + 28, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 28, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 28);
    mI = _mm_load_ps(SFIm + 28);
    _mm_store_ps(SFRe + 28, _mm_sub_ps(_mm_load_ps(SFIm + 20), mI));
    _mm_store_ps(SFIm + 28, _mm_sub_ps(mR, _mm_load_ps(SFRe + 20)));
    _mm_store_ps(SFRe + 20, _mm_add_ps(_mm_load_ps(SFRe + 20), mR));
    _mm_store_ps(SFIm + 20, _mm_add_ps(_mm_load_ps(SFIm + 20), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 16));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 16));
    _mm_store_ps(SFRe + 16, _mm_sub_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 16)));
    _mm_store_ps(SFIm + 16, _mm_sub_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 16)));
    _mm_store_ps(SFRe + 0, mR);
    _mm_store_ps(SFIm + 0, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 20));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 20));
    _mm_store_ps(SFRe + 20, _mm_sub_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 20)));
    _mm_store_ps(SFIm + 20, _mm_sub_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 20)));
    _mm_store_ps(SFRe + 4, mR);
    _mm_store_ps(SFIm + 4, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 24));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 24));
    _mm_store_ps(SFRe + 24, _mm_sub_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 24)));
    _mm_store_ps(SFIm + 24, _mm_sub_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 24)));
    _mm_store_ps(SFRe + 8, mR);
    _mm_store_ps(SFIm + 8, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 28));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 28));
    _mm_store_ps(SFRe + 28, _mm_sub_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 28)));
    _mm_store_ps(SFIm + 28, _mm_sub_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 28)));
    _mm_store_ps(SFRe + 12, mR);
    _mm_store_ps(SFIm + 12, mI);
    mRF1 = _mm_set_ps(0.956946, 0.980794, 0.995187, 1.000000);
    mIF1 = _mm_set_ps(-0.290265, -0.195044, -0.097994, -0.000000);
    mRF2 = _mm_set_ps(0.634402, 0.831492, 0.956946, 1.000000);
    mIF2 = _mm_set_ps(-0.773004, -0.555536, -0.290265, -0.000000);
    mR = _mm_load_ps(SFRe + 32);
    mI = _mm_load_ps(SFIm + 32);
    _mm_store_ps(SFRe + 32, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 32, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 48);
    mI = _mm_load_ps(SFIm + 48);
    _mm_store_ps(SFRe + 48, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 48, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 48);
    mI = _mm_load_ps(SFIm + 48);
    _mm_store_ps(SFRe + 48, _mm_sub_ps(_mm_load_ps(SFIm + 32), mI));
    _mm_store_ps(SFIm + 48, _mm_sub_ps(mR, _mm_load_ps(SFRe + 32)));
    _mm_store_ps(SFRe + 32, _mm_add_ps(_mm_load_ps(SFRe + 32), mR));
    _mm_store_ps(SFIm + 32, _mm_add_ps(_mm_load_ps(SFIm + 32), mI));
    mRF1 = _mm_set_ps(0.773019, 0.831492, 0.881929, 0.923896);
    mIF1 = _mm_set_ps(-0.634382, -0.555536, -0.471382, -0.382643);
    mRF2 = _mm_set_ps(-0.471404, -0.195069, 0.098019, 0.382712);
    mIF2 = _mm_set_ps(-0.881918, -0.980790, -0.995185, -0.923868);
    mR = _mm_load_ps(SFRe + 36);
    mI = _mm_load_ps(SFIm + 36);
    _mm_store_ps(SFRe + 36, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 36, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 52);
    mI = _mm_load_ps(SFIm + 52);
    _mm_store_ps(SFRe + 52, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 52, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 52);
    mI = _mm_load_ps(SFIm + 52);
    _mm_store_ps(SFRe + 52, _mm_sub_ps(_mm_load_ps(SFIm + 36), mI));
    _mm_store_ps(SFIm + 52, _mm_sub_ps(mR, _mm_load_ps(SFRe + 36)));
    _mm_store_ps(SFRe + 36, _mm_add_ps(_mm_load_ps(SFRe + 36), mR));
    _mm_store_ps(SFIm + 36, _mm_add_ps(_mm_load_ps(SFIm + 36), mI));
    mRF1 = _mm_set_ps(0.471404, 0.555599, 0.634402, 0.707133);
    mIF1 = _mm_set_ps(-0.881918, -0.831451, -0.773004, -0.707080);
    mRF2 = _mm_set_ps(-0.995187, -0.980785, -0.881929, -0.707098);
    mIF2 = _mm_set_ps(0.097994, -0.195093, -0.471382, -0.707116);
    mR = _mm_load_ps(SFRe + 40);
    mI = _mm_load_ps(SFIm + 40);
    _mm_store_ps(SFRe + 40, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 40, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 56);
    mI = _mm_load_ps(SFIm + 56);
    _mm_store_ps(SFRe + 56, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 56, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 56);
    mI = _mm_load_ps(SFIm + 56);
    _mm_store_ps(SFRe + 56, _mm_sub_ps(_mm_load_ps(SFIm + 40), mI));
    _mm_store_ps(SFIm + 56, _mm_sub_ps(mR, _mm_load_ps(SFRe + 40)));
    _mm_store_ps(SFRe + 40, _mm_add_ps(_mm_load_ps(SFRe + 40), mR));
    _mm_store_ps(SFIm + 40, _mm_add_ps(_mm_load_ps(SFIm + 40), mI));
    mRF1 = _mm_set_ps(0.098019, 0.195118, 0.290289, 0.382712);
    mIF1 = _mm_set_ps(-0.995185, -0.980780, -0.956939, -0.923868);
    mRF2 = _mm_set_ps(-0.290289, -0.555599, -0.773019, -0.923896);
    mIF2 = _mm_set_ps(0.956939, 0.831451, 0.634382, 0.382643);
    mR = _mm_load_ps(SFRe + 44);
    mI = _mm_load_ps(SFIm + 44);
    _mm_store_ps(SFRe + 44, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 44, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 60);
    mI = _mm_load_ps(SFIm + 60);
    _mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 60, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 60);
    mI = _mm_load_ps(SFIm + 60);
    _mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_load_ps(SFIm + 44), mI));
    _mm_store_ps(SFIm + 60, _mm_sub_ps(mR, _mm_load_ps(SFRe + 44)));
    _mm_store_ps(SFRe + 44, _mm_add_ps(_mm_load_ps(SFRe + 44), mR));
    _mm_store_ps(SFIm + 44, _mm_add_ps(_mm_load_ps(SFIm + 44), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 32));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 32));
    _mm_store_ps(SFRe + 32, _mm_sub_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 32)));
    _mm_store_ps(SFIm + 32, _mm_sub_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 32)));
    _mm_store_ps(SFRe + 0, mR);
    _mm_store_ps(SFIm + 0, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 36));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 36));
    _mm_store_ps(SFRe + 36, _mm_sub_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 36)));
    _mm_store_ps(SFIm + 36, _mm_sub_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 36)));
    _mm_store_ps(SFRe + 4, mR);
    _mm_store_ps(SFIm + 4, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 40));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 40));
    _mm_store_ps(SFRe + 40, _mm_sub_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 40)));
    _mm_store_ps(SFIm + 40, _mm_sub_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 40)));
    _mm_store_ps(SFRe + 8, mR);
    _mm_store_ps(SFIm + 8, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 44));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 44));
    _mm_store_ps(SFRe + 44, _mm_sub_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 44)));
    _mm_store_ps(SFIm + 44, _mm_sub_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 44)));
    _mm_store_ps(SFRe + 12, mR);
    _mm_store_ps(SFIm + 12, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 48));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 48));
    _mm_store_ps(SFRe + 48, _mm_sub_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 48)));
    _mm_store_ps(SFIm + 48, _mm_sub_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 48)));
    _mm_store_ps(SFRe + 16, mR);
    _mm_store_ps(SFIm + 16, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 20), _mm_load_ps(SFRe + 52));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 20), _mm_load_ps(SFIm + 52));
    _mm_store_ps(SFRe + 52, _mm_sub_ps(_mm_load_ps(SFRe + 20), _mm_load_ps(SFRe + 52)));
    _mm_store_ps(SFIm + 52, _mm_sub_ps(_mm_load_ps(SFIm + 20), _mm_load_ps(SFIm + 52)));
    _mm_store_ps(SFRe + 20, mR);
    _mm_store_ps(SFIm + 20, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 56));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 56));
    _mm_store_ps(SFRe + 56, _mm_sub_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 56)));
    _mm_store_ps(SFIm + 56, _mm_sub_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 56)));
    _mm_store_ps(SFRe + 24, mR);
    _mm_store_ps(SFIm + 24, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 28), _mm_load_ps(SFRe + 60));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 28), _mm_load_ps(SFIm + 60));
    _mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_load_ps(SFRe + 28), _mm_load_ps(SFRe + 60)));
    _mm_store_ps(SFIm + 60, _mm_sub_ps(_mm_load_ps(SFIm + 28), _mm_load_ps(SFIm + 60)));
    _mm_store_ps(SFRe + 28, mR);
    _mm_store_ps(SFIm + 28, mI);
    mRF1 = _mm_set_ps(0.989178, 0.995187, 0.998797, 1.000000);
    mIF1 = _mm_set_ps(-0.146720, -0.097994, -0.049031, -0.000000);
    mRF2 = _mm_set_ps(0.904002, 0.956946, 0.989178, 1.000000);
    mIF2 = _mm_set_ps(-0.427528, -0.290265, -0.146720, -0.000000);
    mR = _mm_load_ps(SFRe + 64);
    mI = _mm_load_ps(SFIm + 64);
    _mm_store_ps(SFRe + 64, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 64, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 96);
    mI = _mm_load_ps(SFIm + 96);
    _mm_store_ps(SFRe + 96, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 96, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 96);
    mI = _mm_load_ps(SFIm + 96);
    _mm_store_ps(SFRe + 96, _mm_sub_ps(_mm_load_ps(SFIm + 64), mI));
    _mm_store_ps(SFIm + 96, _mm_sub_ps(mR, _mm_load_ps(SFRe + 64)));
    _mm_store_ps(SFRe + 64, _mm_add_ps(_mm_load_ps(SFRe + 64), mR));
    _mm_store_ps(SFIm + 64, _mm_add_ps(_mm_load_ps(SFIm + 64), mI));
    mRF1 = _mm_set_ps(0.941546, 0.956946, 0.970039, 0.980794);
    mIF1 = _mm_set_ps(-0.336883, -0.290265, -0.242948, -0.195044);
    mRF2 = _mm_set_ps(0.514121, 0.634402, 0.740952, 0.831492);
    mIF2 = _mm_set_ps(-0.857718, -0.773004, -0.671558, -0.555536);
    mR = _mm_load_ps(SFRe + 68);
    mI = _mm_load_ps(SFIm + 68);
    _mm_store_ps(SFRe + 68, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 68, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 100);
    mI = _mm_load_ps(SFIm + 100);
    _mm_store_ps(SFRe + 100, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 100, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 100);
    mI = _mm_load_ps(SFIm + 100);
    _mm_store_ps(SFRe + 100, _mm_sub_ps(_mm_load_ps(SFIm + 68), mI));
    _mm_store_ps(SFIm + 100, _mm_sub_ps(mR, _mm_load_ps(SFRe + 68)));
    _mm_store_ps(SFRe + 68, _mm_add_ps(_mm_load_ps(SFRe + 68), mR));
    _mm_store_ps(SFIm + 68, _mm_add_ps(_mm_load_ps(SFIm + 68), mI));
    mRF1 = _mm_set_ps(0.857731, 0.881929, 0.904002, 0.923896);
    mIF1 = _mm_set_ps(-0.514099, -0.471382, -0.427528, -0.382643);
    mRF2 = _mm_set_ps(-0.049056, 0.098019, 0.242972, 0.382712);
    mIF2 = _mm_set_ps(-0.998796, -0.995185, -0.970033, -0.923868);
    mR = _mm_load_ps(SFRe + 72);
    mI = _mm_load_ps(SFIm + 72);
    _mm_store_ps(SFRe + 72, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 72, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 104);
    mI = _mm_load_ps(SFIm + 104);
    _mm_store_ps(SFRe + 104, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 104, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 104);
    mI = _mm_load_ps(SFIm + 104);
    _mm_store_ps(SFRe + 104, _mm_sub_ps(_mm_load_ps(SFIm + 72), mI));
    _mm_store_ps(SFIm + 104, _mm_sub_ps(mR, _mm_load_ps(SFRe + 72)));
    _mm_store_ps(SFRe + 72, _mm_add_ps(_mm_load_ps(SFRe + 72), mR));
    _mm_store_ps(SFIm + 72, _mm_add_ps(_mm_load_ps(SFIm + 72), mI));
    mRF1 = _mm_set_ps(0.740952, 0.773019, 0.803224, 0.831492);
    mIF1 = _mm_set_ps(-0.671558, -0.634382, -0.595677, -0.555536);
    mRF2 = _mm_set_ps(-0.595697, -0.471404, -0.336907, -0.195069);
    mIF2 = _mm_set_ps(-0.803209, -0.881918, -0.941538, -0.980790);
    mR = _mm_load_ps(SFRe + 76);
    mI = _mm_load_ps(SFIm + 76);
    _mm_store_ps(SFRe + 76, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 76, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 108);
    mI = _mm_load_ps(SFIm + 108);
    _mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 108, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 108);
    mI = _mm_load_ps(SFIm + 108);
    _mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_load_ps(SFIm + 76), mI));
    _mm_store_ps(SFIm + 108, _mm_sub_ps(mR, _mm_load_ps(SFRe + 76)));
    _mm_store_ps(SFRe + 76, _mm_add_ps(_mm_load_ps(SFRe + 76), mR));
    _mm_store_ps(SFIm + 76, _mm_add_ps(_mm_load_ps(SFIm + 76), mI));
    mRF1 = _mm_set_ps(0.595697, 0.634402, 0.671577, 0.707133);
    mIF1 = _mm_set_ps(-0.803209, -0.773004, -0.740935, -0.707080);
    mRF2 = _mm_set_ps(-0.941546, -0.881929, -0.803224, -0.707098);
    mIF2 = _mm_set_ps(-0.336883, -0.471382, -0.595677, -0.707116);
    mR = _mm_load_ps(SFRe + 80);
    mI = _mm_load_ps(SFIm + 80);
    _mm_store_ps(SFRe + 80, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 80, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 112);
    mI = _mm_load_ps(SFIm + 112);
    _mm_store_ps(SFRe + 112, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 112, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 112);
    mI = _mm_load_ps(SFIm + 112);
    _mm_store_ps(SFRe + 112, _mm_sub_ps(_mm_load_ps(SFIm + 80), mI));
    _mm_store_ps(SFIm + 112, _mm_sub_ps(mR, _mm_load_ps(SFRe + 80)));
    _mm_store_ps(SFRe + 80, _mm_add_ps(_mm_load_ps(SFRe + 80), mR));
    _mm_store_ps(SFIm + 80, _mm_add_ps(_mm_load_ps(SFIm + 80), mI));
    mRF1 = _mm_set_ps(0.427550, 0.471404, 0.514121, 0.555599);
    mIF1 = _mm_set_ps(-0.903992, -0.881918, -0.857718, -0.831451);
    mRF2 = _mm_set_ps(-0.970039, -0.995187, -0.998797, -0.980785);
    mIF2 = _mm_set_ps(0.242948, 0.097994, -0.049031, -0.195093);
    mR = _mm_load_ps(SFRe + 84);
    mI = _mm_load_ps(SFIm + 84);
    _mm_store_ps(SFRe + 84, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 84, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 116);
    mI = _mm_load_ps(SFIm + 116);
    _mm_store_ps(SFRe + 116, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 116, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 116);
    mI = _mm_load_ps(SFIm + 116);
    _mm_store_ps(SFRe + 116, _mm_sub_ps(_mm_load_ps(SFIm + 84), mI));
    _mm_store_ps(SFIm + 116, _mm_sub_ps(mR, _mm_load_ps(SFRe + 84)));
    _mm_store_ps(SFRe + 84, _mm_add_ps(_mm_load_ps(SFRe + 84), mR));
    _mm_store_ps(SFIm + 84, _mm_add_ps(_mm_load_ps(SFIm + 84), mI));
    mRF1 = _mm_set_ps(0.242972, 0.290289, 0.336907, 0.382712);
    mIF1 = _mm_set_ps(-0.970033, -0.956939, -0.941538, -0.923868);
    mRF2 = _mm_set_ps(-0.671577, -0.773019, -0.857731, -0.923896);
    mIF2 = _mm_set_ps(0.740935, 0.634382, 0.514099, 0.382643);
    mR = _mm_load_ps(SFRe + 88);
    mI = _mm_load_ps(SFIm + 88);
    _mm_store_ps(SFRe + 88, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 88, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 120);
    mI = _mm_load_ps(SFIm + 120);
    _mm_store_ps(SFRe + 120, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 120, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 120);
    mI = _mm_load_ps(SFIm + 120);
    _mm_store_ps(SFRe + 120, _mm_sub_ps(_mm_load_ps(SFIm + 88), mI));
    _mm_store_ps(SFIm + 120, _mm_sub_ps(mR, _mm_load_ps(SFRe + 88)));
    _mm_store_ps(SFRe + 88, _mm_add_ps(_mm_load_ps(SFRe + 88), mR));
    _mm_store_ps(SFIm + 88, _mm_add_ps(_mm_load_ps(SFIm + 88), mI));
    mRF1 = _mm_set_ps(0.049056, 0.098019, 0.146745, 0.195118);
    mIF1 = _mm_set_ps(-0.998796, -0.995185, -0.989174, -0.980780);
    mRF2 = _mm_set_ps(-0.146745, -0.290289, -0.427550, -0.555599);
    mIF2 = _mm_set_ps(0.989174, 0.956939, 0.903992, 0.831451);
    mR = _mm_load_ps(SFRe + 92);
    mI = _mm_load_ps(SFIm + 92);
    _mm_store_ps(SFRe + 92, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 92, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 124);
    mI = _mm_load_ps(SFIm + 124);
    _mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 124, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 124);
    mI = _mm_load_ps(SFIm + 124);
    _mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_load_ps(SFIm + 92), mI));
    _mm_store_ps(SFIm + 124, _mm_sub_ps(mR, _mm_load_ps(SFRe + 92)));
    _mm_store_ps(SFRe + 92, _mm_add_ps(_mm_load_ps(SFRe + 92), mR));
    _mm_store_ps(SFIm + 92, _mm_add_ps(_mm_load_ps(SFIm + 92), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 64));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 64));
    _mm_store_ps(SFRe + 64, _mm_sub_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 64)));
    _mm_store_ps(SFIm + 64, _mm_sub_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 64)));
    _mm_store_ps(SFRe + 0, mR);
    _mm_store_ps(SFIm + 0, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 68));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 68));
    _mm_store_ps(SFRe + 68, _mm_sub_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 68)));
    _mm_store_ps(SFIm + 68, _mm_sub_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 68)));
    _mm_store_ps(SFRe + 4, mR);
    _mm_store_ps(SFIm + 4, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 72));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 72));
    _mm_store_ps(SFRe + 72, _mm_sub_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 72)));
    _mm_store_ps(SFIm + 72, _mm_sub_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 72)));
    _mm_store_ps(SFRe + 8, mR);
    _mm_store_ps(SFIm + 8, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 76));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 76));
    _mm_store_ps(SFRe + 76, _mm_sub_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 76)));
    _mm_store_ps(SFIm + 76, _mm_sub_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 76)));
    _mm_store_ps(SFRe + 12, mR);
    _mm_store_ps(SFIm + 12, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 80));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 80));
    _mm_store_ps(SFRe + 80, _mm_sub_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 80)));
    _mm_store_ps(SFIm + 80, _mm_sub_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 80)));
    _mm_store_ps(SFRe + 16, mR);
    _mm_store_ps(SFIm + 16, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 20), _mm_load_ps(SFRe + 84));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 20), _mm_load_ps(SFIm + 84));
    _mm_store_ps(SFRe + 84, _mm_sub_ps(_mm_load_ps(SFRe + 20), _mm_load_ps(SFRe + 84)));
    _mm_store_ps(SFIm + 84, _mm_sub_ps(_mm_load_ps(SFIm + 20), _mm_load_ps(SFIm + 84)));
    _mm_store_ps(SFRe + 20, mR);
    _mm_store_ps(SFIm + 20, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 88));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 88));
    _mm_store_ps(SFRe + 88, _mm_sub_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 88)));
    _mm_store_ps(SFIm + 88, _mm_sub_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 88)));
    _mm_store_ps(SFRe + 24, mR);
    _mm_store_ps(SFIm + 24, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 28), _mm_load_ps(SFRe + 92));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 28), _mm_load_ps(SFIm + 92));
    _mm_store_ps(SFRe + 92, _mm_sub_ps(_mm_load_ps(SFRe + 28), _mm_load_ps(SFRe + 92)));
    _mm_store_ps(SFIm + 92, _mm_sub_ps(_mm_load_ps(SFIm + 28), _mm_load_ps(SFIm + 92)));
    _mm_store_ps(SFRe + 28, mR);
    _mm_store_ps(SFIm + 28, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 96));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 96));
    _mm_store_ps(SFRe + 96, _mm_sub_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 96)));
    _mm_store_ps(SFIm + 96, _mm_sub_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 96)));
    _mm_store_ps(SFRe + 32, mR);
    _mm_store_ps(SFIm + 32, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 36), _mm_load_ps(SFRe + 100));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 36), _mm_load_ps(SFIm + 100));
    _mm_store_ps(SFRe + 100, _mm_sub_ps(_mm_load_ps(SFRe + 36), _mm_load_ps(SFRe + 100)));
    _mm_store_ps(SFIm + 100, _mm_sub_ps(_mm_load_ps(SFIm + 36), _mm_load_ps(SFIm + 100)));
    _mm_store_ps(SFRe + 36, mR);
    _mm_store_ps(SFIm + 36, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 40), _mm_load_ps(SFRe + 104));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 40), _mm_load_ps(SFIm + 104));
    _mm_store_ps(SFRe + 104, _mm_sub_ps(_mm_load_ps(SFRe + 40), _mm_load_ps(SFRe + 104)));
    _mm_store_ps(SFIm + 104, _mm_sub_ps(_mm_load_ps(SFIm + 40), _mm_load_ps(SFIm + 104)));
    _mm_store_ps(SFRe + 40, mR);
    _mm_store_ps(SFIm + 40, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 44), _mm_load_ps(SFRe + 108));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 44), _mm_load_ps(SFIm + 108));
    _mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_load_ps(SFRe + 44), _mm_load_ps(SFRe + 108)));
    _mm_store_ps(SFIm + 108, _mm_sub_ps(_mm_load_ps(SFIm + 44), _mm_load_ps(SFIm + 108)));
    _mm_store_ps(SFRe + 44, mR);
    _mm_store_ps(SFIm + 44, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 112));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 112));
    _mm_store_ps(SFRe + 112, _mm_sub_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 112)));
    _mm_store_ps(SFIm + 112, _mm_sub_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 112)));
    _mm_store_ps(SFRe + 48, mR);
    _mm_store_ps(SFIm + 48, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 52), _mm_load_ps(SFRe + 116));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 52), _mm_load_ps(SFIm + 116));
    _mm_store_ps(SFRe + 116, _mm_sub_ps(_mm_load_ps(SFRe + 52), _mm_load_ps(SFRe + 116)));
    _mm_store_ps(SFIm + 116, _mm_sub_ps(_mm_load_ps(SFIm + 52), _mm_load_ps(SFIm + 116)));
    _mm_store_ps(SFRe + 52, mR);
    _mm_store_ps(SFIm + 52, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 56), _mm_load_ps(SFRe + 120));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 56), _mm_load_ps(SFIm + 120));
    _mm_store_ps(SFRe + 120, _mm_sub_ps(_mm_load_ps(SFRe + 56), _mm_load_ps(SFRe + 120)));
    _mm_store_ps(SFIm + 120, _mm_sub_ps(_mm_load_ps(SFIm + 56), _mm_load_ps(SFIm + 120)));
    _mm_store_ps(SFRe + 56, mR);
    _mm_store_ps(SFIm + 56, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 60), _mm_load_ps(SFRe + 124));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 60), _mm_load_ps(SFIm + 124));
    _mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_load_ps(SFRe + 60), _mm_load_ps(SFRe + 124)));
    _mm_store_ps(SFIm + 124, _mm_sub_ps(_mm_load_ps(SFIm + 60), _mm_load_ps(SFIm + 124)));
    _mm_store_ps(SFRe + 60, mR);
    _mm_store_ps(SFIm + 60, mI);
    mRF1 = _mm_set_ps(0.997293, 0.998797, 0.999700, 1.000000);
    mIF1 = _mm_set_ps(-0.073535, -0.049031, -0.024498, -0.000000);
    mRF2 = _mm_set_ps(0.975711, 0.989178, 0.997293, 1.000000);
    mIF2 = _mm_set_ps(-0.219062, -0.146720, -0.073535, -0.000000);
    mR = _mm_load_ps(SFRe + 128);
    mI = _mm_load_ps(SFIm + 128);
    _mm_store_ps(SFRe + 128, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 128, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 192);
    mI = _mm_load_ps(SFIm + 192);
    _mm_store_ps(SFRe + 192, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 192, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 192);
    mI = _mm_load_ps(SFIm + 192);
    _mm_store_ps(SFRe + 192, _mm_sub_ps(_mm_load_ps(SFIm + 128), mI));
    _mm_store_ps(SFIm + 192, _mm_sub_ps(mR, _mm_load_ps(SFRe + 128)));
    _mm_store_ps(SFRe + 128, _mm_add_ps(_mm_load_ps(SFRe + 128), mR));
    _mm_store_ps(SFIm + 128, _mm_add_ps(_mm_load_ps(SFIm + 128), mI));
    mRF1 = _mm_set_ps(0.985278, 0.989178, 0.992482, 0.995187);
    mIF1 = _mm_set_ps(-0.170958, -0.146720, -0.122394, -0.097994);
    mRF2 = _mm_set_ps(0.870092, 0.904002, 0.932993, 0.956946);
    mIF2 = _mm_set_ps(-0.492889, -0.427528, -0.359895, -0.290265);
    mR = _mm_load_ps(SFRe + 132);
    mI = _mm_load_ps(SFIm + 132);
    _mm_store_ps(SFRe + 132, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 132, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 196);
    mI = _mm_load_ps(SFIm + 196);
    _mm_store_ps(SFRe + 196, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 196, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 196);
    mI = _mm_load_ps(SFIm + 196);
    _mm_store_ps(SFRe + 196, _mm_sub_ps(_mm_load_ps(SFIm + 132), mI));
    _mm_store_ps(SFIm + 196, _mm_sub_ps(mR, _mm_load_ps(SFRe + 132)));
    _mm_store_ps(SFRe + 132, _mm_add_ps(_mm_load_ps(SFRe + 132), mR));
    _mm_store_ps(SFIm + 132, _mm_add_ps(_mm_load_ps(SFIm + 132), mI));
    mRF1 = _mm_set_ps(0.963783, 0.970039, 0.975711, 0.980794);
    mIF1 = _mm_set_ps(-0.266687, -0.242948, -0.219062, -0.195044);
    mRF2 = _mm_set_ps(0.689563, 0.740952, 0.788359, 0.831492);
    mIF2 = _mm_set_ps(-0.724226, -0.671558, -0.615215, -0.555536);
    mR = _mm_load_ps(SFRe + 136);
    mI = _mm_load_ps(SFIm + 136);
    _mm_store_ps(SFRe + 136, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 136, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 200);
    mI = _mm_load_ps(SFIm + 200);
    _mm_store_ps(SFRe + 200, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 200, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 200);
    mI = _mm_load_ps(SFIm + 200);
    _mm_store_ps(SFRe + 200, _mm_sub_ps(_mm_load_ps(SFIm + 136), mI));
    _mm_store_ps(SFIm + 200, _mm_sub_ps(mR, _mm_load_ps(SFRe + 136)));
    _mm_store_ps(SFRe + 136, _mm_add_ps(_mm_load_ps(SFRe + 136), mR));
    _mm_store_ps(SFIm + 136, _mm_add_ps(_mm_load_ps(SFIm + 136), mI));
    mRF1 = _mm_set_ps(0.932993, 0.941546, 0.949532, 0.956946);
    mIF1 = _mm_set_ps(-0.359895, -0.336883, -0.313669, -0.290265);
    mRF2 = _mm_set_ps(0.449612, 0.514121, 0.575801, 0.634402);
    mIF2 = _mm_set_ps(-0.893224, -0.857718, -0.817590, -0.773004);
    mR = _mm_load_ps(SFRe + 140);
    mI = _mm_load_ps(SFIm + 140);
    _mm_store_ps(SFRe + 140, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 140, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 204);
    mI = _mm_load_ps(SFIm + 204);
    _mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 204, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 204);
    mI = _mm_load_ps(SFIm + 204);
    _mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_load_ps(SFIm + 140), mI));
    _mm_store_ps(SFIm + 204, _mm_sub_ps(mR, _mm_load_ps(SFRe + 140)));
    _mm_store_ps(SFRe + 140, _mm_add_ps(_mm_load_ps(SFRe + 140), mR));
    _mm_store_ps(SFIm + 140, _mm_add_ps(_mm_load_ps(SFIm + 140), mI));
    mRF1 = _mm_set_ps(0.893235, 0.904002, 0.914225, 0.923896);
    mIF1 = _mm_set_ps(-0.449590, -0.427528, -0.405207, -0.382643);
    mRF2 = _mm_set_ps(0.170983, 0.242972, 0.313692, 0.382712);
    mIF2 = _mm_set_ps(-0.985274, -0.970033, -0.949525, -0.923868);
    mR = _mm_load_ps(SFRe + 144);
    mI = _mm_load_ps(SFIm + 144);
    _mm_store_ps(SFRe + 144, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 144, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 208);
    mI = _mm_load_ps(SFIm + 208);
    _mm_store_ps(SFRe + 208, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 208, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 208);
    mI = _mm_load_ps(SFIm + 208);
    _mm_store_ps(SFRe + 208, _mm_sub_ps(_mm_load_ps(SFIm + 144), mI));
    _mm_store_ps(SFIm + 208, _mm_sub_ps(mR, _mm_load_ps(SFRe + 144)));
    _mm_store_ps(SFRe + 144, _mm_add_ps(_mm_load_ps(SFRe + 144), mR));
    _mm_store_ps(SFIm + 144, _mm_add_ps(_mm_load_ps(SFIm + 144), mI));
    mRF1 = _mm_set_ps(0.844852, 0.857731, 0.870092, 0.881929);
    mIF1 = _mm_set_ps(-0.535000, -0.514099, -0.492889, -0.471382);
    mRF2 = _mm_set_ps(-0.122419, -0.049056, 0.024523, 0.098019);
    mIF2 = _mm_set_ps(-0.992479, -0.998796, -0.999699, -0.995185);
    mR = _mm_load_ps(SFRe + 148);
    mI = _mm_load_ps(SFIm + 148);
    _mm_store_ps(SFRe + 148, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 148, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 212);
    mI = _mm_load_ps(SFIm + 212);
    _mm_store_ps(SFRe + 212, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 212, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 212);
    mI = _mm_load_ps(SFIm + 212);
    _mm_store_ps(SFRe + 212, _mm_sub_ps(_mm_load_ps(SFIm + 148), mI));
    _mm_store_ps(SFIm + 212, _mm_sub_ps(mR, _mm_load_ps(SFRe + 148)));
    _mm_store_ps(SFRe + 148, _mm_add_ps(_mm_load_ps(SFRe + 148), mR));
    _mm_store_ps(SFIm + 148, _mm_add_ps(_mm_load_ps(SFIm + 148), mI));
    mRF1 = _mm_set_ps(0.788359, 0.803224, 0.817604, 0.831492);
    mIF1 = _mm_set_ps(-0.615215, -0.595677, -0.575780, -0.555536);
    mRF2 = _mm_set_ps(-0.405230, -0.336907, -0.266711, -0.195069);
    mIF2 = _mm_set_ps(-0.914215, -0.941538, -0.963777, -0.980790);
    mR = _mm_load_ps(SFRe + 152);
    mI = _mm_load_ps(SFIm + 152);
    _mm_store_ps(SFRe + 152, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 152, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 216);
    mI = _mm_load_ps(SFIm + 216);
    _mm_store_ps(SFRe + 216, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 216, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 216);
    mI = _mm_load_ps(SFIm + 216);
    _mm_store_ps(SFRe + 216, _mm_sub_ps(_mm_load_ps(SFIm + 152), mI));
    _mm_store_ps(SFIm + 216, _mm_sub_ps(mR, _mm_load_ps(SFRe + 152)));
    _mm_store_ps(SFRe + 152, _mm_add_ps(_mm_load_ps(SFRe + 152), mR));
    _mm_store_ps(SFIm + 152, _mm_add_ps(_mm_load_ps(SFIm + 152), mI));
    mRF1 = _mm_set_ps(0.724243, 0.740952, 0.757214, 0.773019);
    mIF1 = _mm_set_ps(-0.689545, -0.671558, -0.653167, -0.634382);
    mRF2 = _mm_set_ps(-0.653186, -0.595697, -0.535021, -0.471404);
    mIF2 = _mm_set_ps(-0.757197, -0.803209, -0.844839, -0.881918);
    mR = _mm_load_ps(SFRe + 156);
    mI = _mm_load_ps(SFIm + 156);
    _mm_store_ps(SFRe + 156, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 156, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 220);
    mI = _mm_load_ps(SFIm + 220);
    _mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 220, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 220);
    mI = _mm_load_ps(SFIm + 220);
    _mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_load_ps(SFIm + 156), mI));
    _mm_store_ps(SFIm + 220, _mm_sub_ps(mR, _mm_load_ps(SFRe + 156)));
    _mm_store_ps(SFRe + 156, _mm_add_ps(_mm_load_ps(SFRe + 156), mR));
    _mm_store_ps(SFIm + 156, _mm_add_ps(_mm_load_ps(SFIm + 156), mI));
    mRF1 = _mm_set_ps(0.653186, 0.671577, 0.689563, 0.707133);
    mIF1 = _mm_set_ps(-0.757197, -0.740935, -0.724226, -0.707080);
    mRF2 = _mm_set_ps(-0.844852, -0.803224, -0.757214, -0.707098);
    mIF2 = _mm_set_ps(-0.535000, -0.595677, -0.653167, -0.707116);
    mR = _mm_load_ps(SFRe + 160);
    mI = _mm_load_ps(SFIm + 160);
    _mm_store_ps(SFRe + 160, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 160, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 224);
    mI = _mm_load_ps(SFIm + 224);
    _mm_store_ps(SFRe + 224, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 224, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 224);
    mI = _mm_load_ps(SFIm + 224);
    _mm_store_ps(SFRe + 224, _mm_sub_ps(_mm_load_ps(SFIm + 160), mI));
    _mm_store_ps(SFIm + 224, _mm_sub_ps(mR, _mm_load_ps(SFRe + 160)));
    _mm_store_ps(SFRe + 160, _mm_add_ps(_mm_load_ps(SFRe + 160), mR));
    _mm_store_ps(SFIm + 160, _mm_add_ps(_mm_load_ps(SFIm + 160), mI));
    mRF1 = _mm_set_ps(0.575801, 0.595697, 0.615235, 0.634402);
    mIF1 = _mm_set_ps(-0.817590, -0.803209, -0.788344, -0.773004);
    mRF2 = _mm_set_ps(-0.963783, -0.941546, -0.914225, -0.881929);
    mIF2 = _mm_set_ps(-0.266687, -0.336883, -0.405207, -0.471382);
    mR = _mm_load_ps(SFRe + 164);
    mI = _mm_load_ps(SFIm + 164);
    _mm_store_ps(SFRe + 164, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 164, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 228);
    mI = _mm_load_ps(SFIm + 228);
    _mm_store_ps(SFRe + 228, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 228, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 228);
    mI = _mm_load_ps(SFIm + 228);
    _mm_store_ps(SFRe + 228, _mm_sub_ps(_mm_load_ps(SFIm + 164), mI));
    _mm_store_ps(SFIm + 228, _mm_sub_ps(mR, _mm_load_ps(SFRe + 164)));
    _mm_store_ps(SFRe + 164, _mm_add_ps(_mm_load_ps(SFRe + 164), mR));
    _mm_store_ps(SFIm + 164, _mm_add_ps(_mm_load_ps(SFIm + 164), mI));
    mRF1 = _mm_set_ps(0.492911, 0.514121, 0.535021, 0.555599);
    mIF1 = _mm_set_ps(-0.870080, -0.857718, -0.844839, -0.831451);
    mRF2 = _mm_set_ps(-0.999700, -0.998797, -0.992482, -0.980785);
    mIF2 = _mm_set_ps(0.024498, -0.049031, -0.122394, -0.195093);
    mR = _mm_load_ps(SFRe + 168);
    mI = _mm_load_ps(SFIm + 168);
    _mm_store_ps(SFRe + 168, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 168, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 232);
    mI = _mm_load_ps(SFIm + 232);
    _mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 232, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 232);
    mI = _mm_load_ps(SFIm + 232);
    _mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_load_ps(SFIm + 168), mI));
    _mm_store_ps(SFIm + 232, _mm_sub_ps(mR, _mm_load_ps(SFRe + 168)));
    _mm_store_ps(SFRe + 168, _mm_add_ps(_mm_load_ps(SFRe + 168), mR));
    _mm_store_ps(SFIm + 168, _mm_add_ps(_mm_load_ps(SFIm + 168), mI));
    mRF1 = _mm_set_ps(0.405230, 0.427550, 0.449612, 0.471404);
    mIF1 = _mm_set_ps(-0.914215, -0.903992, -0.893224, -0.881918);
    mRF2 = _mm_set_ps(-0.949532, -0.970039, -0.985278, -0.995187);
    mIF2 = _mm_set_ps(0.313669, 0.242948, 0.170958, 0.097994);
    mR = _mm_load_ps(SFRe + 172);
    mI = _mm_load_ps(SFIm + 172);
    _mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 172, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 236);
    mI = _mm_load_ps(SFIm + 236);
    _mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 236, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 236);
    mI = _mm_load_ps(SFIm + 236);
    _mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_load_ps(SFIm + 172), mI));
    _mm_store_ps(SFIm + 236, _mm_sub_ps(mR, _mm_load_ps(SFRe + 172)));
    _mm_store_ps(SFRe + 172, _mm_add_ps(_mm_load_ps(SFRe + 172), mR));
    _mm_store_ps(SFIm + 172, _mm_add_ps(_mm_load_ps(SFIm + 172), mI));
    mRF1 = _mm_set_ps(0.313692, 0.336907, 0.359918, 0.382712);
    mIF1 = _mm_set_ps(-0.949525, -0.941538, -0.932984, -0.923868);
    mRF2 = _mm_set_ps(-0.817604, -0.857731, -0.893235, -0.923896);
    mIF2 = _mm_set_ps(0.575780, 0.514099, 0.449590, 0.382643);
    mR = _mm_load_ps(SFRe + 176);
    mI = _mm_load_ps(SFIm + 176);
    _mm_store_ps(SFRe + 176, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 176, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 240);
    mI = _mm_load_ps(SFIm + 240);
    _mm_store_ps(SFRe + 240, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 240, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 240);
    mI = _mm_load_ps(SFIm + 240);
    _mm_store_ps(SFRe + 240, _mm_sub_ps(_mm_load_ps(SFIm + 176), mI));
    _mm_store_ps(SFIm + 240, _mm_sub_ps(mR, _mm_load_ps(SFRe + 176)));
    _mm_store_ps(SFRe + 176, _mm_add_ps(_mm_load_ps(SFRe + 176), mR));
    _mm_store_ps(SFIm + 176, _mm_add_ps(_mm_load_ps(SFIm + 176), mI));
    mRF1 = _mm_set_ps(0.219086, 0.242972, 0.266711, 0.290289);
    mIF1 = _mm_set_ps(-0.975705, -0.970033, -0.963777, -0.956939);
    mRF2 = _mm_set_ps(-0.615235, -0.671577, -0.724243, -0.773019);
    mIF2 = _mm_set_ps(0.788344, 0.740935, 0.689545, 0.634382);
    mR = _mm_load_ps(SFRe + 180);
    mI = _mm_load_ps(SFIm + 180);
    _mm_store_ps(SFRe + 180, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 180, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 244);
    mI = _mm_load_ps(SFIm + 244);
    _mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 244, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 244);
    mI = _mm_load_ps(SFIm + 244);
    _mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_load_ps(SFIm + 180), mI));
    _mm_store_ps(SFIm + 244, _mm_sub_ps(mR, _mm_load_ps(SFRe + 180)));
    _mm_store_ps(SFRe + 180, _mm_add_ps(_mm_load_ps(SFRe + 180), mR));
    _mm_store_ps(SFIm + 180, _mm_add_ps(_mm_load_ps(SFIm + 180), mI));
    mRF1 = _mm_set_ps(0.122419, 0.146745, 0.170983, 0.195118);
    mIF1 = _mm_set_ps(-0.992479, -0.989174, -0.985274, -0.980780);
    mRF2 = _mm_set_ps(-0.359918, -0.427550, -0.492911, -0.555599);
    mIF2 = _mm_set_ps(0.932984, 0.903992, 0.870080, 0.831451);
    mR = _mm_load_ps(SFRe + 184);
    mI = _mm_load_ps(SFIm + 184);
    _mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 184, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 248);
    mI = _mm_load_ps(SFIm + 248);
    _mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 248, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 248);
    mI = _mm_load_ps(SFIm + 248);
    _mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_load_ps(SFIm + 184), mI));
    _mm_store_ps(SFIm + 248, _mm_sub_ps(mR, _mm_load_ps(SFRe + 184)));
    _mm_store_ps(SFRe + 184, _mm_add_ps(_mm_load_ps(SFRe + 184), mR));
    _mm_store_ps(SFIm + 184, _mm_add_ps(_mm_load_ps(SFIm + 184), mI));
    mRF1 = _mm_set_ps(0.024523, 0.049056, 0.073559, 0.098019);
    mIF1 = _mm_set_ps(-0.999699, -0.998796, -0.997291, -0.995185);
    mRF2 = _mm_set_ps(-0.073559, -0.146745, -0.219086, -0.290289);
    mIF2 = _mm_set_ps(0.997291, 0.989174, 0.975705, 0.956939);
    mR = _mm_load_ps(SFRe + 188);
    mI = _mm_load_ps(SFIm + 188);
    _mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
    _mm_store_ps(SFIm + 188, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
    mR = _mm_load_ps(SFRe + 252);
    mI = _mm_load_ps(SFIm + 252);
    _mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
    _mm_store_ps(SFIm + 252, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
    mR = _mm_load_ps(SFRe + 252);
    mI = _mm_load_ps(SFIm + 252);
    _mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_load_ps(SFIm + 188), mI));
    _mm_store_ps(SFIm + 252, _mm_sub_ps(mR, _mm_load_ps(SFRe + 188)));
    _mm_store_ps(SFRe + 188, _mm_add_ps(_mm_load_ps(SFRe + 188), mR));
    _mm_store_ps(SFIm + 188, _mm_add_ps(_mm_load_ps(SFIm + 188), mI));
    mR = _mm_add_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 128));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 128));
    _mm_store_ps(SFRe + 128, _mm_sub_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 128)));
    _mm_store_ps(SFIm + 128, _mm_sub_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 128)));
    _mm_store_ps(SFRe + 0, mR);
    _mm_store_ps(SFIm + 0, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 132));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 132));
    _mm_store_ps(SFRe + 132, _mm_sub_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 132)));
    _mm_store_ps(SFIm + 132, _mm_sub_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 132)));
    _mm_store_ps(SFRe + 4, mR);
    _mm_store_ps(SFIm + 4, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 136));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 136));
    _mm_store_ps(SFRe + 136, _mm_sub_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 136)));
    _mm_store_ps(SFIm + 136, _mm_sub_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 136)));
    _mm_store_ps(SFRe + 8, mR);
    _mm_store_ps(SFIm + 8, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 140));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 140));
    _mm_store_ps(SFRe + 140, _mm_sub_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 140)));
    _mm_store_ps(SFIm + 140, _mm_sub_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 140)));
    _mm_store_ps(SFRe + 12, mR);
    _mm_store_ps(SFIm + 12, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 144));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 144));
    _mm_store_ps(SFRe + 144, _mm_sub_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 144)));
    _mm_store_ps(SFIm + 144, _mm_sub_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 144)));
    _mm_store_ps(SFRe + 16, mR);
    _mm_store_ps(SFIm + 16, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 20), _mm_load_ps(SFRe + 148));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 20), _mm_load_ps(SFIm + 148));
    _mm_store_ps(SFRe + 148, _mm_sub_ps(_mm_load_ps(SFRe + 20), _mm_load_ps(SFRe + 148)));
    _mm_store_ps(SFIm + 148, _mm_sub_ps(_mm_load_ps(SFIm + 20), _mm_load_ps(SFIm + 148)));
    _mm_store_ps(SFRe + 20, mR);
    _mm_store_ps(SFIm + 20, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 152));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 152));
    _mm_store_ps(SFRe + 152, _mm_sub_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 152)));
    _mm_store_ps(SFIm + 152, _mm_sub_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 152)));
    _mm_store_ps(SFRe + 24, mR);
    _mm_store_ps(SFIm + 24, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 28), _mm_load_ps(SFRe + 156));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 28), _mm_load_ps(SFIm + 156));
    _mm_store_ps(SFRe + 156, _mm_sub_ps(_mm_load_ps(SFRe + 28), _mm_load_ps(SFRe + 156)));
    _mm_store_ps(SFIm + 156, _mm_sub_ps(_mm_load_ps(SFIm + 28), _mm_load_ps(SFIm + 156)));
    _mm_store_ps(SFRe + 28, mR);
    _mm_store_ps(SFIm + 28, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 160));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 160));
    _mm_store_ps(SFRe + 160, _mm_sub_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 160)));
    _mm_store_ps(SFIm + 160, _mm_sub_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 160)));
    _mm_store_ps(SFRe + 32, mR);
    _mm_store_ps(SFIm + 32, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 36), _mm_load_ps(SFRe + 164));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 36), _mm_load_ps(SFIm + 164));
    _mm_store_ps(SFRe + 164, _mm_sub_ps(_mm_load_ps(SFRe + 36), _mm_load_ps(SFRe + 164)));
    _mm_store_ps(SFIm + 164, _mm_sub_ps(_mm_load_ps(SFIm + 36), _mm_load_ps(SFIm + 164)));
    _mm_store_ps(SFRe + 36, mR);
    _mm_store_ps(SFIm + 36, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 40), _mm_load_ps(SFRe + 168));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 40), _mm_load_ps(SFIm + 168));
    _mm_store_ps(SFRe + 168, _mm_sub_ps(_mm_load_ps(SFRe + 40), _mm_load_ps(SFRe + 168)));
    _mm_store_ps(SFIm + 168, _mm_sub_ps(_mm_load_ps(SFIm + 40), _mm_load_ps(SFIm + 168)));
    _mm_store_ps(SFRe + 40, mR);
    _mm_store_ps(SFIm + 40, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 44), _mm_load_ps(SFRe + 172));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 44), _mm_load_ps(SFIm + 172));
    _mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_load_ps(SFRe + 44), _mm_load_ps(SFRe + 172)));
    _mm_store_ps(SFIm + 172, _mm_sub_ps(_mm_load_ps(SFIm + 44), _mm_load_ps(SFIm + 172)));
    _mm_store_ps(SFRe + 44, mR);
    _mm_store_ps(SFIm + 44, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 176));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 176));
    _mm_store_ps(SFRe + 176, _mm_sub_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 176)));
    _mm_store_ps(SFIm + 176, _mm_sub_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 176)));
    _mm_store_ps(SFRe + 48, mR);
    _mm_store_ps(SFIm + 48, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 52), _mm_load_ps(SFRe + 180));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 52), _mm_load_ps(SFIm + 180));
    _mm_store_ps(SFRe + 180, _mm_sub_ps(_mm_load_ps(SFRe + 52), _mm_load_ps(SFRe + 180)));
    _mm_store_ps(SFIm + 180, _mm_sub_ps(_mm_load_ps(SFIm + 52), _mm_load_ps(SFIm + 180)));
    _mm_store_ps(SFRe + 52, mR);
    _mm_store_ps(SFIm + 52, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 56), _mm_load_ps(SFRe + 184));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 56), _mm_load_ps(SFIm + 184));
    _mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_load_ps(SFRe + 56), _mm_load_ps(SFRe + 184)));
    _mm_store_ps(SFIm + 184, _mm_sub_ps(_mm_load_ps(SFIm + 56), _mm_load_ps(SFIm + 184)));
    _mm_store_ps(SFRe + 56, mR);
    _mm_store_ps(SFIm + 56, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 60), _mm_load_ps(SFRe + 188));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 60), _mm_load_ps(SFIm + 188));
    _mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_load_ps(SFRe + 60), _mm_load_ps(SFRe + 188)));
    _mm_store_ps(SFIm + 188, _mm_sub_ps(_mm_load_ps(SFIm + 60), _mm_load_ps(SFIm + 188)));
    _mm_store_ps(SFRe + 60, mR);
    _mm_store_ps(SFIm + 60, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 192));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 192));
    _mm_store_ps(SFRe + 192, _mm_sub_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 192)));
    _mm_store_ps(SFIm + 192, _mm_sub_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 192)));
    _mm_store_ps(SFRe + 64, mR);
    _mm_store_ps(SFIm + 64, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 68), _mm_load_ps(SFRe + 196));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 68), _mm_load_ps(SFIm + 196));
    _mm_store_ps(SFRe + 196, _mm_sub_ps(_mm_load_ps(SFRe + 68), _mm_load_ps(SFRe + 196)));
    _mm_store_ps(SFIm + 196, _mm_sub_ps(_mm_load_ps(SFIm + 68), _mm_load_ps(SFIm + 196)));
    _mm_store_ps(SFRe + 68, mR);
    _mm_store_ps(SFIm + 68, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 72), _mm_load_ps(SFRe + 200));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 72), _mm_load_ps(SFIm + 200));
    _mm_store_ps(SFRe + 200, _mm_sub_ps(_mm_load_ps(SFRe + 72), _mm_load_ps(SFRe + 200)));
    _mm_store_ps(SFIm + 200, _mm_sub_ps(_mm_load_ps(SFIm + 72), _mm_load_ps(SFIm + 200)));
    _mm_store_ps(SFRe + 72, mR);
    _mm_store_ps(SFIm + 72, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 76), _mm_load_ps(SFRe + 204));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 76), _mm_load_ps(SFIm + 204));
    _mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_load_ps(SFRe + 76), _mm_load_ps(SFRe + 204)));
    _mm_store_ps(SFIm + 204, _mm_sub_ps(_mm_load_ps(SFIm + 76), _mm_load_ps(SFIm + 204)));
    _mm_store_ps(SFRe + 76, mR);
    _mm_store_ps(SFIm + 76, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 80), _mm_load_ps(SFRe + 208));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 80), _mm_load_ps(SFIm + 208));
    _mm_store_ps(SFRe + 208, _mm_sub_ps(_mm_load_ps(SFRe + 80), _mm_load_ps(SFRe + 208)));
    _mm_store_ps(SFIm + 208, _mm_sub_ps(_mm_load_ps(SFIm + 80), _mm_load_ps(SFIm + 208)));
    _mm_store_ps(SFRe + 80, mR);
    _mm_store_ps(SFIm + 80, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 84), _mm_load_ps(SFRe + 212));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 84), _mm_load_ps(SFIm + 212));
    _mm_store_ps(SFRe + 212, _mm_sub_ps(_mm_load_ps(SFRe + 84), _mm_load_ps(SFRe + 212)));
    _mm_store_ps(SFIm + 212, _mm_sub_ps(_mm_load_ps(SFIm + 84), _mm_load_ps(SFIm + 212)));
    _mm_store_ps(SFRe + 84, mR);
    _mm_store_ps(SFIm + 84, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 88), _mm_load_ps(SFRe + 216));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 88), _mm_load_ps(SFIm + 216));
    _mm_store_ps(SFRe + 216, _mm_sub_ps(_mm_load_ps(SFRe + 88), _mm_load_ps(SFRe + 216)));
    _mm_store_ps(SFIm + 216, _mm_sub_ps(_mm_load_ps(SFIm + 88), _mm_load_ps(SFIm + 216)));
    _mm_store_ps(SFRe + 88, mR);
    _mm_store_ps(SFIm + 88, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 92), _mm_load_ps(SFRe + 220));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 92), _mm_load_ps(SFIm + 220));
    _mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_load_ps(SFRe + 92), _mm_load_ps(SFRe + 220)));
    _mm_store_ps(SFIm + 220, _mm_sub_ps(_mm_load_ps(SFIm + 92), _mm_load_ps(SFIm + 220)));
    _mm_store_ps(SFRe + 92, mR);
    _mm_store_ps(SFIm + 92, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 224));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 224));
    _mm_store_ps(SFRe + 224, _mm_sub_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 224)));
    _mm_store_ps(SFIm + 224, _mm_sub_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 224)));
    _mm_store_ps(SFRe + 96, mR);
    _mm_store_ps(SFIm + 96, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 100), _mm_load_ps(SFRe + 228));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 100), _mm_load_ps(SFIm + 228));
    _mm_store_ps(SFRe + 228, _mm_sub_ps(_mm_load_ps(SFRe + 100), _mm_load_ps(SFRe + 228)));
    _mm_store_ps(SFIm + 228, _mm_sub_ps(_mm_load_ps(SFIm + 100), _mm_load_ps(SFIm + 228)));
    _mm_store_ps(SFRe + 100, mR);
    _mm_store_ps(SFIm + 100, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 104), _mm_load_ps(SFRe + 232));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 104), _mm_load_ps(SFIm + 232));
    _mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_load_ps(SFRe + 104), _mm_load_ps(SFRe + 232)));
    _mm_store_ps(SFIm + 232, _mm_sub_ps(_mm_load_ps(SFIm + 104), _mm_load_ps(SFIm + 232)));
    _mm_store_ps(SFRe + 104, mR);
    _mm_store_ps(SFIm + 104, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 108), _mm_load_ps(SFRe + 236));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 108), _mm_load_ps(SFIm + 236));
    _mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_load_ps(SFRe + 108), _mm_load_ps(SFRe + 236)));
    _mm_store_ps(SFIm + 236, _mm_sub_ps(_mm_load_ps(SFIm + 108), _mm_load_ps(SFIm + 236)));
    _mm_store_ps(SFRe + 108, mR);
    _mm_store_ps(SFIm + 108, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 112), _mm_load_ps(SFRe + 240));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 112), _mm_load_ps(SFIm + 240));
    _mm_store_ps(SFRe + 240, _mm_sub_ps(_mm_load_ps(SFRe + 112), _mm_load_ps(SFRe + 240)));
    _mm_store_ps(SFIm + 240, _mm_sub_ps(_mm_load_ps(SFIm + 112), _mm_load_ps(SFIm + 240)));
    _mm_store_ps(SFRe + 112, mR);
    _mm_store_ps(SFIm + 112, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 116), _mm_load_ps(SFRe + 244));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 116), _mm_load_ps(SFIm + 244));
    _mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_load_ps(SFRe + 116), _mm_load_ps(SFRe + 244)));
    _mm_store_ps(SFIm + 244, _mm_sub_ps(_mm_load_ps(SFIm + 116), _mm_load_ps(SFIm + 244)));
    _mm_store_ps(SFRe + 116, mR);
    _mm_store_ps(SFIm + 116, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 120), _mm_load_ps(SFRe + 248));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 120), _mm_load_ps(SFIm + 248));
    _mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_load_ps(SFRe + 120), _mm_load_ps(SFRe + 248)));
    _mm_store_ps(SFIm + 248, _mm_sub_ps(_mm_load_ps(SFIm + 120), _mm_load_ps(SFIm + 248)));
    _mm_store_ps(SFRe + 120, mR);
    _mm_store_ps(SFIm + 120, mI);
    mR = _mm_add_ps(_mm_load_ps(SFRe + 124), _mm_load_ps(SFRe + 252));
    mI = _mm_add_ps(_mm_load_ps(SFIm + 124), _mm_load_ps(SFIm + 252));
    _mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_load_ps(SFRe + 124), _mm_load_ps(SFRe + 252)));
    _mm_store_ps(SFIm + 252, _mm_sub_ps(_mm_load_ps(SFIm + 124), _mm_load_ps(SFIm + 252)));
    _mm_store_ps(SFRe + 124, mR);
    _mm_store_ps(SFIm + 124, mI);
}
#else
//AVX
void StaticFFT_8()
{
	float Re0, Re1, Re2, Re3;
	float Im0, Im1, Im2, Im3;
	float RA, IA;
	float RF1, IF1, RF2, IF2;
	float R, I;
	__m128 mRF1, mIF1, mRF2, mIF2;
	__m128 mR, mI;
	__m256 m256RF1, m256IF1, m256RF2, m256IF2;
	__m256 m256R, m256I;
	Re0 = SFRe[252]; Im0 = SFIm[252];
	Re1 = SFRe[253]; Im1 = SFIm[253];
	Re2 = SFRe[254]; Im2 = SFIm[254];
	Re3 = SFRe[255]; Im3 = SFIm[255];
	SFRe[252] = Re0 + Re1; SFIm[252] = Im0 + Im1;
	SFRe[253] = Re0 - Re1; SFIm[253] = Im0 - Im1;
	SFRe[254] = Re2 + Re3; SFIm[254] = Im2 + Im3;
	SFRe[255] = Im2 - Im3; SFIm[255] = Re3 - Re2;
	RA = SFRe[252] + SFRe[254];
	IA = SFIm[252] + SFIm[254];
	SFRe[254] = SFRe[252] - SFRe[254];
	SFIm[254] = SFIm[252] - SFIm[254];
	SFRe[252] = RA;
	SFIm[252] = IA;
	RA = SFRe[253] + SFRe[255];
	IA = SFIm[253] + SFIm[255];
	SFRe[255] = SFRe[253] - SFRe[255];
	SFIm[255] = SFIm[253] - SFIm[255];
	SFRe[253] = RA;
	SFIm[253] = IA;
	Re0 = SFRe[248]; Im0 = SFIm[248];
	Re1 = SFRe[249]; Im1 = SFIm[249];
	Re2 = SFRe[250]; Im2 = SFIm[250];
	Re3 = SFRe[251]; Im3 = SFIm[251];
	SFRe[248] = Re0 + Re1; SFIm[248] = Im0 + Im1;
	SFRe[249] = Re0 - Re1; SFIm[249] = Im0 - Im1;
	SFRe[250] = Re2 + Re3; SFIm[250] = Im2 + Im3;
	SFRe[251] = Im2 - Im3; SFIm[251] = Re3 - Re2;
	RA = SFRe[248] + SFRe[250];
	IA = SFIm[248] + SFIm[250];
	SFRe[250] = SFRe[248] - SFRe[250];
	SFIm[250] = SFIm[248] - SFIm[250];
	SFRe[248] = RA;
	SFIm[248] = IA;
	RA = SFRe[249] + SFRe[251];
	IA = SFIm[249] + SFIm[251];
	SFRe[251] = SFRe[249] - SFRe[251];
	SFIm[251] = SFIm[249] - SFIm[251];
	SFRe[249] = RA;
	SFIm[249] = IA;
	R = SFRe[246] + SFRe[247];
	I = SFIm[246] + SFIm[247];
	SFRe[247] = SFRe[246] - SFRe[247];
	SFIm[247] = SFIm[246] - SFIm[247];
	SFRe[246] = R;
	SFIm[246] = I;
	R = SFRe[244] + SFRe[245];
	I = SFIm[244] + SFIm[245];
	SFRe[245] = SFRe[244] - SFRe[245];
	SFIm[245] = SFIm[244] - SFIm[245];
	SFRe[244] = R;
	SFIm[244] = I;
	Re0 = SFRe[240]; Im0 = SFIm[240];
	Re1 = SFRe[241]; Im1 = SFIm[241];
	Re2 = SFRe[242]; Im2 = SFIm[242];
	Re3 = SFRe[243]; Im3 = SFIm[243];
	SFRe[240] = Re0 + Re1; SFIm[240] = Im0 + Im1;
	SFRe[241] = Re0 - Re1; SFIm[241] = Im0 - Im1;
	SFRe[242] = Re2 + Re3; SFIm[242] = Im2 + Im3;
	SFRe[243] = Im2 - Im3; SFIm[243] = Re3 - Re2;
	RA = SFRe[240] + SFRe[242];
	IA = SFIm[240] + SFIm[242];
	SFRe[242] = SFRe[240] - SFRe[242];
	SFIm[242] = SFIm[240] - SFIm[242];
	SFRe[240] = RA;
	SFIm[240] = IA;
	RA = SFRe[241] + SFRe[243];
	IA = SFIm[241] + SFIm[243];
	SFRe[243] = SFRe[241] - SFRe[243];
	SFIm[243] = SFIm[241] - SFIm[243];
	SFRe[241] = RA;
	SFIm[241] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[244];
	I = SFIm[244];
	SFRe[244] = R * RF1 - I * IF1;
	SFIm[244] = R * IF1 + I * RF1;
	R = SFRe[246];
	I = SFIm[246];
	SFRe[246] = R * RF2 - I * IF2;
	SFIm[246] = R * IF2 + I * RF2;
	R = SFRe[246];
	I = SFIm[246];
	SFRe[246] = SFIm[244] - I;
	SFIm[246] = R - SFRe[244];
	SFRe[244] += R;
	SFIm[244] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[245];
	I = SFIm[245];
	SFRe[245] = R * RF1 - I * IF1;
	SFIm[245] = R * IF1 + I * RF1;
	R = SFRe[247];
	I = SFIm[247];
	SFRe[247] = R * RF2 - I * IF2;
	SFIm[247] = R * IF2 + I * RF2;
	R = SFRe[247];
	I = SFIm[247];
	SFRe[247] = SFIm[245] - I;
	SFIm[247] = R - SFRe[245];
	SFRe[245] += R;
	SFIm[245] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 240), _mm_load_ps(SFRe + 244));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 240), _mm_load_ps(SFIm + 244));
	_mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_load_ps(SFRe + 240), _mm_load_ps(SFRe + 244)));
	_mm_store_ps(SFIm + 244, _mm_sub_ps(_mm_load_ps(SFIm + 240), _mm_load_ps(SFIm + 244)));
	_mm_store_ps(SFRe + 240, mR);
	_mm_store_ps(SFIm + 240, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 248);
	mI = _mm_load_ps(SFIm + 248);
	_mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 248, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 252);
	mI = _mm_load_ps(SFIm + 252);
	_mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 252, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 252);
	mI = _mm_load_ps(SFIm + 252);
	_mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_load_ps(SFIm + 248), mI));
	_mm_store_ps(SFIm + 252, _mm_sub_ps(mR, _mm_load_ps(SFRe + 248)));
	_mm_store_ps(SFRe + 248, _mm_add_ps(_mm_load_ps(SFRe + 248), mR));
	_mm_store_ps(SFIm + 248, _mm_add_ps(_mm_load_ps(SFIm + 248), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 240), _mm256_load_ps(SFRe + 248));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 240), _mm256_load_ps(SFIm + 248));
	_mm256_store_ps(SFRe + 248, _mm256_sub_ps(_mm256_load_ps(SFRe + 240), _mm256_load_ps(SFRe + 248)));
	_mm256_store_ps(SFIm + 248, _mm256_sub_ps(_mm256_load_ps(SFIm + 240), _mm256_load_ps(SFIm + 248)));
	_mm256_store_ps(SFRe + 240, m256R);
	_mm256_store_ps(SFIm + 240, m256I);
	Re0 = SFRe[236]; Im0 = SFIm[236];
	Re1 = SFRe[237]; Im1 = SFIm[237];
	Re2 = SFRe[238]; Im2 = SFIm[238];
	Re3 = SFRe[239]; Im3 = SFIm[239];
	SFRe[236] = Re0 + Re1; SFIm[236] = Im0 + Im1;
	SFRe[237] = Re0 - Re1; SFIm[237] = Im0 - Im1;
	SFRe[238] = Re2 + Re3; SFIm[238] = Im2 + Im3;
	SFRe[239] = Im2 - Im3; SFIm[239] = Re3 - Re2;
	RA = SFRe[236] + SFRe[238];
	IA = SFIm[236] + SFIm[238];
	SFRe[238] = SFRe[236] - SFRe[238];
	SFIm[238] = SFIm[236] - SFIm[238];
	SFRe[236] = RA;
	SFIm[236] = IA;
	RA = SFRe[237] + SFRe[239];
	IA = SFIm[237] + SFIm[239];
	SFRe[239] = SFRe[237] - SFRe[239];
	SFIm[239] = SFIm[237] - SFIm[239];
	SFRe[237] = RA;
	SFIm[237] = IA;
	Re0 = SFRe[232]; Im0 = SFIm[232];
	Re1 = SFRe[233]; Im1 = SFIm[233];
	Re2 = SFRe[234]; Im2 = SFIm[234];
	Re3 = SFRe[235]; Im3 = SFIm[235];
	SFRe[232] = Re0 + Re1; SFIm[232] = Im0 + Im1;
	SFRe[233] = Re0 - Re1; SFIm[233] = Im0 - Im1;
	SFRe[234] = Re2 + Re3; SFIm[234] = Im2 + Im3;
	SFRe[235] = Im2 - Im3; SFIm[235] = Re3 - Re2;
	RA = SFRe[232] + SFRe[234];
	IA = SFIm[232] + SFIm[234];
	SFRe[234] = SFRe[232] - SFRe[234];
	SFIm[234] = SFIm[232] - SFIm[234];
	SFRe[232] = RA;
	SFIm[232] = IA;
	RA = SFRe[233] + SFRe[235];
	IA = SFIm[233] + SFIm[235];
	SFRe[235] = SFRe[233] - SFRe[235];
	SFIm[235] = SFIm[233] - SFIm[235];
	SFRe[233] = RA;
	SFIm[233] = IA;
	R = SFRe[230] + SFRe[231];
	I = SFIm[230] + SFIm[231];
	SFRe[231] = SFRe[230] - SFRe[231];
	SFIm[231] = SFIm[230] - SFIm[231];
	SFRe[230] = R;
	SFIm[230] = I;
	R = SFRe[228] + SFRe[229];
	I = SFIm[228] + SFIm[229];
	SFRe[229] = SFRe[228] - SFRe[229];
	SFIm[229] = SFIm[228] - SFIm[229];
	SFRe[228] = R;
	SFIm[228] = I;
	Re0 = SFRe[224]; Im0 = SFIm[224];
	Re1 = SFRe[225]; Im1 = SFIm[225];
	Re2 = SFRe[226]; Im2 = SFIm[226];
	Re3 = SFRe[227]; Im3 = SFIm[227];
	SFRe[224] = Re0 + Re1; SFIm[224] = Im0 + Im1;
	SFRe[225] = Re0 - Re1; SFIm[225] = Im0 - Im1;
	SFRe[226] = Re2 + Re3; SFIm[226] = Im2 + Im3;
	SFRe[227] = Im2 - Im3; SFIm[227] = Re3 - Re2;
	RA = SFRe[224] + SFRe[226];
	IA = SFIm[224] + SFIm[226];
	SFRe[226] = SFRe[224] - SFRe[226];
	SFIm[226] = SFIm[224] - SFIm[226];
	SFRe[224] = RA;
	SFIm[224] = IA;
	RA = SFRe[225] + SFRe[227];
	IA = SFIm[225] + SFIm[227];
	SFRe[227] = SFRe[225] - SFRe[227];
	SFIm[227] = SFIm[225] - SFIm[227];
	SFRe[225] = RA;
	SFIm[225] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[228];
	I = SFIm[228];
	SFRe[228] = R * RF1 - I * IF1;
	SFIm[228] = R * IF1 + I * RF1;
	R = SFRe[230];
	I = SFIm[230];
	SFRe[230] = R * RF2 - I * IF2;
	SFIm[230] = R * IF2 + I * RF2;
	R = SFRe[230];
	I = SFIm[230];
	SFRe[230] = SFIm[228] - I;
	SFIm[230] = R - SFRe[228];
	SFRe[228] += R;
	SFIm[228] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[229];
	I = SFIm[229];
	SFRe[229] = R * RF1 - I * IF1;
	SFIm[229] = R * IF1 + I * RF1;
	R = SFRe[231];
	I = SFIm[231];
	SFRe[231] = R * RF2 - I * IF2;
	SFIm[231] = R * IF2 + I * RF2;
	R = SFRe[231];
	I = SFIm[231];
	SFRe[231] = SFIm[229] - I;
	SFIm[231] = R - SFRe[229];
	SFRe[229] += R;
	SFIm[229] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 224), _mm_load_ps(SFRe + 228));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 224), _mm_load_ps(SFIm + 228));
	_mm_store_ps(SFRe + 228, _mm_sub_ps(_mm_load_ps(SFRe + 224), _mm_load_ps(SFRe + 228)));
	_mm_store_ps(SFIm + 228, _mm_sub_ps(_mm_load_ps(SFIm + 224), _mm_load_ps(SFIm + 228)));
	_mm_store_ps(SFRe + 224, mR);
	_mm_store_ps(SFIm + 224, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 232);
	mI = _mm_load_ps(SFIm + 232);
	_mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 232, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 236);
	mI = _mm_load_ps(SFIm + 236);
	_mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 236, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 236);
	mI = _mm_load_ps(SFIm + 236);
	_mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_load_ps(SFIm + 232), mI));
	_mm_store_ps(SFIm + 236, _mm_sub_ps(mR, _mm_load_ps(SFRe + 232)));
	_mm_store_ps(SFRe + 232, _mm_add_ps(_mm_load_ps(SFRe + 232), mR));
	_mm_store_ps(SFIm + 232, _mm_add_ps(_mm_load_ps(SFIm + 232), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 224), _mm256_load_ps(SFRe + 232));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 224), _mm256_load_ps(SFIm + 232));
	_mm256_store_ps(SFRe + 232, _mm256_sub_ps(_mm256_load_ps(SFRe + 224), _mm256_load_ps(SFRe + 232)));
	_mm256_store_ps(SFIm + 232, _mm256_sub_ps(_mm256_load_ps(SFIm + 224), _mm256_load_ps(SFIm + 232)));
	_mm256_store_ps(SFRe + 224, m256R);
	_mm256_store_ps(SFIm + 224, m256I);
	R = SFRe[222] + SFRe[223];
	I = SFIm[222] + SFIm[223];
	SFRe[223] = SFRe[222] - SFRe[223];
	SFIm[223] = SFIm[222] - SFIm[223];
	SFRe[222] = R;
	SFIm[222] = I;
	R = SFRe[220] + SFRe[221];
	I = SFIm[220] + SFIm[221];
	SFRe[221] = SFRe[220] - SFRe[221];
	SFIm[221] = SFIm[220] - SFIm[221];
	SFRe[220] = R;
	SFIm[220] = I;
	Re0 = SFRe[216]; Im0 = SFIm[216];
	Re1 = SFRe[217]; Im1 = SFIm[217];
	Re2 = SFRe[218]; Im2 = SFIm[218];
	Re3 = SFRe[219]; Im3 = SFIm[219];
	SFRe[216] = Re0 + Re1; SFIm[216] = Im0 + Im1;
	SFRe[217] = Re0 - Re1; SFIm[217] = Im0 - Im1;
	SFRe[218] = Re2 + Re3; SFIm[218] = Im2 + Im3;
	SFRe[219] = Im2 - Im3; SFIm[219] = Re3 - Re2;
	RA = SFRe[216] + SFRe[218];
	IA = SFIm[216] + SFIm[218];
	SFRe[218] = SFRe[216] - SFRe[218];
	SFIm[218] = SFIm[216] - SFIm[218];
	SFRe[216] = RA;
	SFIm[216] = IA;
	RA = SFRe[217] + SFRe[219];
	IA = SFIm[217] + SFIm[219];
	SFRe[219] = SFRe[217] - SFRe[219];
	SFIm[219] = SFIm[217] - SFIm[219];
	SFRe[217] = RA;
	SFIm[217] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[220];
	I = SFIm[220];
	SFRe[220] = R * RF1 - I * IF1;
	SFIm[220] = R * IF1 + I * RF1;
	R = SFRe[222];
	I = SFIm[222];
	SFRe[222] = R * RF2 - I * IF2;
	SFIm[222] = R * IF2 + I * RF2;
	R = SFRe[222];
	I = SFIm[222];
	SFRe[222] = SFIm[220] - I;
	SFIm[222] = R - SFRe[220];
	SFRe[220] += R;
	SFIm[220] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[221];
	I = SFIm[221];
	SFRe[221] = R * RF1 - I * IF1;
	SFIm[221] = R * IF1 + I * RF1;
	R = SFRe[223];
	I = SFIm[223];
	SFRe[223] = R * RF2 - I * IF2;
	SFIm[223] = R * IF2 + I * RF2;
	R = SFRe[223];
	I = SFIm[223];
	SFRe[223] = SFIm[221] - I;
	SFIm[223] = R - SFRe[221];
	SFRe[221] += R;
	SFIm[221] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 216), _mm_load_ps(SFRe + 220));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 216), _mm_load_ps(SFIm + 220));
	_mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_load_ps(SFRe + 216), _mm_load_ps(SFRe + 220)));
	_mm_store_ps(SFIm + 220, _mm_sub_ps(_mm_load_ps(SFIm + 216), _mm_load_ps(SFIm + 220)));
	_mm_store_ps(SFRe + 216, mR);
	_mm_store_ps(SFIm + 216, mI);
	R = SFRe[214] + SFRe[215];
	I = SFIm[214] + SFIm[215];
	SFRe[215] = SFRe[214] - SFRe[215];
	SFIm[215] = SFIm[214] - SFIm[215];
	SFRe[214] = R;
	SFIm[214] = I;
	R = SFRe[212] + SFRe[213];
	I = SFIm[212] + SFIm[213];
	SFRe[213] = SFRe[212] - SFRe[213];
	SFIm[213] = SFIm[212] - SFIm[213];
	SFRe[212] = R;
	SFIm[212] = I;
	Re0 = SFRe[208]; Im0 = SFIm[208];
	Re1 = SFRe[209]; Im1 = SFIm[209];
	Re2 = SFRe[210]; Im2 = SFIm[210];
	Re3 = SFRe[211]; Im3 = SFIm[211];
	SFRe[208] = Re0 + Re1; SFIm[208] = Im0 + Im1;
	SFRe[209] = Re0 - Re1; SFIm[209] = Im0 - Im1;
	SFRe[210] = Re2 + Re3; SFIm[210] = Im2 + Im3;
	SFRe[211] = Im2 - Im3; SFIm[211] = Re3 - Re2;
	RA = SFRe[208] + SFRe[210];
	IA = SFIm[208] + SFIm[210];
	SFRe[210] = SFRe[208] - SFRe[210];
	SFIm[210] = SFIm[208] - SFIm[210];
	SFRe[208] = RA;
	SFIm[208] = IA;
	RA = SFRe[209] + SFRe[211];
	IA = SFIm[209] + SFIm[211];
	SFRe[211] = SFRe[209] - SFRe[211];
	SFIm[211] = SFIm[209] - SFIm[211];
	SFRe[209] = RA;
	SFIm[209] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[212];
	I = SFIm[212];
	SFRe[212] = R * RF1 - I * IF1;
	SFIm[212] = R * IF1 + I * RF1;
	R = SFRe[214];
	I = SFIm[214];
	SFRe[214] = R * RF2 - I * IF2;
	SFIm[214] = R * IF2 + I * RF2;
	R = SFRe[214];
	I = SFIm[214];
	SFRe[214] = SFIm[212] - I;
	SFIm[214] = R - SFRe[212];
	SFRe[212] += R;
	SFIm[212] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[213];
	I = SFIm[213];
	SFRe[213] = R * RF1 - I * IF1;
	SFIm[213] = R * IF1 + I * RF1;
	R = SFRe[215];
	I = SFIm[215];
	SFRe[215] = R * RF2 - I * IF2;
	SFIm[215] = R * IF2 + I * RF2;
	R = SFRe[215];
	I = SFIm[215];
	SFRe[215] = SFIm[213] - I;
	SFIm[215] = R - SFRe[213];
	SFRe[213] += R;
	SFIm[213] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 208), _mm_load_ps(SFRe + 212));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 208), _mm_load_ps(SFIm + 212));
	_mm_store_ps(SFRe + 212, _mm_sub_ps(_mm_load_ps(SFRe + 208), _mm_load_ps(SFRe + 212)));
	_mm_store_ps(SFIm + 212, _mm_sub_ps(_mm_load_ps(SFIm + 208), _mm_load_ps(SFIm + 212)));
	_mm_store_ps(SFRe + 208, mR);
	_mm_store_ps(SFIm + 208, mI);
	Re0 = SFRe[204]; Im0 = SFIm[204];
	Re1 = SFRe[205]; Im1 = SFIm[205];
	Re2 = SFRe[206]; Im2 = SFIm[206];
	Re3 = SFRe[207]; Im3 = SFIm[207];
	SFRe[204] = Re0 + Re1; SFIm[204] = Im0 + Im1;
	SFRe[205] = Re0 - Re1; SFIm[205] = Im0 - Im1;
	SFRe[206] = Re2 + Re3; SFIm[206] = Im2 + Im3;
	SFRe[207] = Im2 - Im3; SFIm[207] = Re3 - Re2;
	RA = SFRe[204] + SFRe[206];
	IA = SFIm[204] + SFIm[206];
	SFRe[206] = SFRe[204] - SFRe[206];
	SFIm[206] = SFIm[204] - SFIm[206];
	SFRe[204] = RA;
	SFIm[204] = IA;
	RA = SFRe[205] + SFRe[207];
	IA = SFIm[205] + SFIm[207];
	SFRe[207] = SFRe[205] - SFRe[207];
	SFIm[207] = SFIm[205] - SFIm[207];
	SFRe[205] = RA;
	SFIm[205] = IA;
	Re0 = SFRe[200]; Im0 = SFIm[200];
	Re1 = SFRe[201]; Im1 = SFIm[201];
	Re2 = SFRe[202]; Im2 = SFIm[202];
	Re3 = SFRe[203]; Im3 = SFIm[203];
	SFRe[200] = Re0 + Re1; SFIm[200] = Im0 + Im1;
	SFRe[201] = Re0 - Re1; SFIm[201] = Im0 - Im1;
	SFRe[202] = Re2 + Re3; SFIm[202] = Im2 + Im3;
	SFRe[203] = Im2 - Im3; SFIm[203] = Re3 - Re2;
	RA = SFRe[200] + SFRe[202];
	IA = SFIm[200] + SFIm[202];
	SFRe[202] = SFRe[200] - SFRe[202];
	SFIm[202] = SFIm[200] - SFIm[202];
	SFRe[200] = RA;
	SFIm[200] = IA;
	RA = SFRe[201] + SFRe[203];
	IA = SFIm[201] + SFIm[203];
	SFRe[203] = SFRe[201] - SFRe[203];
	SFIm[203] = SFIm[201] - SFIm[203];
	SFRe[201] = RA;
	SFIm[201] = IA;
	R = SFRe[198] + SFRe[199];
	I = SFIm[198] + SFIm[199];
	SFRe[199] = SFRe[198] - SFRe[199];
	SFIm[199] = SFIm[198] - SFIm[199];
	SFRe[198] = R;
	SFIm[198] = I;
	R = SFRe[196] + SFRe[197];
	I = SFIm[196] + SFIm[197];
	SFRe[197] = SFRe[196] - SFRe[197];
	SFIm[197] = SFIm[196] - SFIm[197];
	SFRe[196] = R;
	SFIm[196] = I;
	Re0 = SFRe[192]; Im0 = SFIm[192];
	Re1 = SFRe[193]; Im1 = SFIm[193];
	Re2 = SFRe[194]; Im2 = SFIm[194];
	Re3 = SFRe[195]; Im3 = SFIm[195];
	SFRe[192] = Re0 + Re1; SFIm[192] = Im0 + Im1;
	SFRe[193] = Re0 - Re1; SFIm[193] = Im0 - Im1;
	SFRe[194] = Re2 + Re3; SFIm[194] = Im2 + Im3;
	SFRe[195] = Im2 - Im3; SFIm[195] = Re3 - Re2;
	RA = SFRe[192] + SFRe[194];
	IA = SFIm[192] + SFIm[194];
	SFRe[194] = SFRe[192] - SFRe[194];
	SFIm[194] = SFIm[192] - SFIm[194];
	SFRe[192] = RA;
	SFIm[192] = IA;
	RA = SFRe[193] + SFRe[195];
	IA = SFIm[193] + SFIm[195];
	SFRe[195] = SFRe[193] - SFRe[195];
	SFIm[195] = SFIm[193] - SFIm[195];
	SFRe[193] = RA;
	SFIm[193] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[196];
	I = SFIm[196];
	SFRe[196] = R * RF1 - I * IF1;
	SFIm[196] = R * IF1 + I * RF1;
	R = SFRe[198];
	I = SFIm[198];
	SFRe[198] = R * RF2 - I * IF2;
	SFIm[198] = R * IF2 + I * RF2;
	R = SFRe[198];
	I = SFIm[198];
	SFRe[198] = SFIm[196] - I;
	SFIm[198] = R - SFRe[196];
	SFRe[196] += R;
	SFIm[196] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[197];
	I = SFIm[197];
	SFRe[197] = R * RF1 - I * IF1;
	SFIm[197] = R * IF1 + I * RF1;
	R = SFRe[199];
	I = SFIm[199];
	SFRe[199] = R * RF2 - I * IF2;
	SFIm[199] = R * IF2 + I * RF2;
	R = SFRe[199];
	I = SFIm[199];
	SFRe[199] = SFIm[197] - I;
	SFIm[199] = R - SFRe[197];
	SFRe[197] += R;
	SFIm[197] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 196));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 196));
	_mm_store_ps(SFRe + 196, _mm_sub_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 196)));
	_mm_store_ps(SFIm + 196, _mm_sub_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 196)));
	_mm_store_ps(SFRe + 192, mR);
	_mm_store_ps(SFIm + 192, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 200);
	mI = _mm_load_ps(SFIm + 200);
	_mm_store_ps(SFRe + 200, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 200, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 204);
	mI = _mm_load_ps(SFIm + 204);
	_mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 204, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 204);
	mI = _mm_load_ps(SFIm + 204);
	_mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_load_ps(SFIm + 200), mI));
	_mm_store_ps(SFIm + 204, _mm_sub_ps(mR, _mm_load_ps(SFRe + 200)));
	_mm_store_ps(SFRe + 200, _mm_add_ps(_mm_load_ps(SFRe + 200), mR));
	_mm_store_ps(SFIm + 200, _mm_add_ps(_mm_load_ps(SFIm + 200), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 192), _mm256_load_ps(SFRe + 200));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 192), _mm256_load_ps(SFIm + 200));
	_mm256_store_ps(SFRe + 200, _mm256_sub_ps(_mm256_load_ps(SFRe + 192), _mm256_load_ps(SFRe + 200)));
	_mm256_store_ps(SFIm + 200, _mm256_sub_ps(_mm256_load_ps(SFIm + 192), _mm256_load_ps(SFIm + 200)));
	_mm256_store_ps(SFRe + 192, m256R);
	_mm256_store_ps(SFIm + 192, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 208);
	m256I = _mm256_load_ps(SFIm + 208);
	_mm256_store_ps(SFRe + 208, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 208, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 216);
	m256I = _mm256_load_ps(SFIm + 216);
	_mm256_store_ps(SFRe + 216, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 216, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 216);
	m256I = _mm256_load_ps(SFIm + 216);
	_mm256_store_ps(SFRe + 216, _mm256_sub_ps(_mm256_load_ps(SFIm + 208), m256I));
	_mm256_store_ps(SFIm + 216, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 208)));
	_mm256_store_ps(SFRe + 208, _mm256_add_ps(_mm256_load_ps(SFRe + 208), m256R));
	_mm256_store_ps(SFIm + 208, _mm256_add_ps(_mm256_load_ps(SFIm + 208), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 192), _mm256_load_ps(SFRe + 208));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 192), _mm256_load_ps(SFIm + 208));
	_mm256_store_ps(SFRe + 208, _mm256_sub_ps(_mm256_load_ps(SFRe + 192), _mm256_load_ps(SFRe + 208)));
	_mm256_store_ps(SFIm + 208, _mm256_sub_ps(_mm256_load_ps(SFIm + 192), _mm256_load_ps(SFIm + 208)));
	_mm256_store_ps(SFRe + 192, m256R);
	_mm256_store_ps(SFIm + 192, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 200), _mm256_load_ps(SFRe + 216));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 200), _mm256_load_ps(SFIm + 216));
	_mm256_store_ps(SFRe + 216, _mm256_sub_ps(_mm256_load_ps(SFRe + 200), _mm256_load_ps(SFRe + 216)));
	_mm256_store_ps(SFIm + 216, _mm256_sub_ps(_mm256_load_ps(SFIm + 200), _mm256_load_ps(SFIm + 216)));
	_mm256_store_ps(SFRe + 200, m256R);
	_mm256_store_ps(SFIm + 200, m256I);
	m256RF1 = _mm256_set_ps(0.773019, 0.831492, 0.881929, 0.923896, 0.956946, 0.980794, 0.995187, 1.000000);
	m256IF1 = _mm256_set_ps(-0.634382, -0.555536, -0.471382, -0.382643, -0.290265, -0.195044, -0.097994, -0.000000);
	m256RF2 = _mm256_set_ps(-0.471404, -0.195069, 0.098019, 0.382712, 0.634402, 0.831492, 0.956946, 1.000000);
	m256IF2 = _mm256_set_ps(-0.881918, -0.980790, -0.995185, -0.923868, -0.773004, -0.555536, -0.290265, -0.000000);
	m256R = _mm256_load_ps(SFRe + 224);
	m256I = _mm256_load_ps(SFIm + 224);
	_mm256_store_ps(SFRe + 224, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 224, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 240);
	m256I = _mm256_load_ps(SFIm + 240);
	_mm256_store_ps(SFRe + 240, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 240, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 240);
	m256I = _mm256_load_ps(SFIm + 240);
	_mm256_store_ps(SFRe + 240, _mm256_sub_ps(_mm256_load_ps(SFIm + 224), m256I));
	_mm256_store_ps(SFIm + 240, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 224)));
	_mm256_store_ps(SFRe + 224, _mm256_add_ps(_mm256_load_ps(SFRe + 224), m256R));
	_mm256_store_ps(SFIm + 224, _mm256_add_ps(_mm256_load_ps(SFIm + 224), m256I));
	m256RF1 = _mm256_set_ps(0.098019, 0.195118, 0.290289, 0.382712, 0.471404, 0.555599, 0.634402, 0.707133);
	m256IF1 = _mm256_set_ps(-0.995185, -0.980780, -0.956939, -0.923868, -0.881918, -0.831451, -0.773004, -0.707080);
	m256RF2 = _mm256_set_ps(-0.290289, -0.555599, -0.773019, -0.923896, -0.995187, -0.980785, -0.881929, -0.707098);
	m256IF2 = _mm256_set_ps(0.956939, 0.831451, 0.634382, 0.382643, 0.097994, -0.195093, -0.471382, -0.707116);
	m256R = _mm256_load_ps(SFRe + 232);
	m256I = _mm256_load_ps(SFIm + 232);
	_mm256_store_ps(SFRe + 232, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 232, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 248);
	m256I = _mm256_load_ps(SFIm + 248);
	_mm256_store_ps(SFRe + 248, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 248, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 248);
	m256I = _mm256_load_ps(SFIm + 248);
	_mm256_store_ps(SFRe + 248, _mm256_sub_ps(_mm256_load_ps(SFIm + 232), m256I));
	_mm256_store_ps(SFIm + 248, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 232)));
	_mm256_store_ps(SFRe + 232, _mm256_add_ps(_mm256_load_ps(SFRe + 232), m256R));
	_mm256_store_ps(SFIm + 232, _mm256_add_ps(_mm256_load_ps(SFIm + 232), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 192), _mm256_load_ps(SFRe + 224));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 192), _mm256_load_ps(SFIm + 224));
	_mm256_store_ps(SFRe + 224, _mm256_sub_ps(_mm256_load_ps(SFRe + 192), _mm256_load_ps(SFRe + 224)));
	_mm256_store_ps(SFIm + 224, _mm256_sub_ps(_mm256_load_ps(SFIm + 192), _mm256_load_ps(SFIm + 224)));
	_mm256_store_ps(SFRe + 192, m256R);
	_mm256_store_ps(SFIm + 192, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 200), _mm256_load_ps(SFRe + 232));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 200), _mm256_load_ps(SFIm + 232));
	_mm256_store_ps(SFRe + 232, _mm256_sub_ps(_mm256_load_ps(SFRe + 200), _mm256_load_ps(SFRe + 232)));
	_mm256_store_ps(SFIm + 232, _mm256_sub_ps(_mm256_load_ps(SFIm + 200), _mm256_load_ps(SFIm + 232)));
	_mm256_store_ps(SFRe + 200, m256R);
	_mm256_store_ps(SFIm + 200, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 208), _mm256_load_ps(SFRe + 240));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 208), _mm256_load_ps(SFIm + 240));
	_mm256_store_ps(SFRe + 240, _mm256_sub_ps(_mm256_load_ps(SFRe + 208), _mm256_load_ps(SFRe + 240)));
	_mm256_store_ps(SFIm + 240, _mm256_sub_ps(_mm256_load_ps(SFIm + 208), _mm256_load_ps(SFIm + 240)));
	_mm256_store_ps(SFRe + 208, m256R);
	_mm256_store_ps(SFIm + 208, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 216), _mm256_load_ps(SFRe + 248));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 216), _mm256_load_ps(SFIm + 248));
	_mm256_store_ps(SFRe + 248, _mm256_sub_ps(_mm256_load_ps(SFRe + 216), _mm256_load_ps(SFRe + 248)));
	_mm256_store_ps(SFIm + 248, _mm256_sub_ps(_mm256_load_ps(SFIm + 216), _mm256_load_ps(SFIm + 248)));
	_mm256_store_ps(SFRe + 216, m256R);
	_mm256_store_ps(SFIm + 216, m256I);
	Re0 = SFRe[188]; Im0 = SFIm[188];
	Re1 = SFRe[189]; Im1 = SFIm[189];
	Re2 = SFRe[190]; Im2 = SFIm[190];
	Re3 = SFRe[191]; Im3 = SFIm[191];
	SFRe[188] = Re0 + Re1; SFIm[188] = Im0 + Im1;
	SFRe[189] = Re0 - Re1; SFIm[189] = Im0 - Im1;
	SFRe[190] = Re2 + Re3; SFIm[190] = Im2 + Im3;
	SFRe[191] = Im2 - Im3; SFIm[191] = Re3 - Re2;
	RA = SFRe[188] + SFRe[190];
	IA = SFIm[188] + SFIm[190];
	SFRe[190] = SFRe[188] - SFRe[190];
	SFIm[190] = SFIm[188] - SFIm[190];
	SFRe[188] = RA;
	SFIm[188] = IA;
	RA = SFRe[189] + SFRe[191];
	IA = SFIm[189] + SFIm[191];
	SFRe[191] = SFRe[189] - SFRe[191];
	SFIm[191] = SFIm[189] - SFIm[191];
	SFRe[189] = RA;
	SFIm[189] = IA;
	Re0 = SFRe[184]; Im0 = SFIm[184];
	Re1 = SFRe[185]; Im1 = SFIm[185];
	Re2 = SFRe[186]; Im2 = SFIm[186];
	Re3 = SFRe[187]; Im3 = SFIm[187];
	SFRe[184] = Re0 + Re1; SFIm[184] = Im0 + Im1;
	SFRe[185] = Re0 - Re1; SFIm[185] = Im0 - Im1;
	SFRe[186] = Re2 + Re3; SFIm[186] = Im2 + Im3;
	SFRe[187] = Im2 - Im3; SFIm[187] = Re3 - Re2;
	RA = SFRe[184] + SFRe[186];
	IA = SFIm[184] + SFIm[186];
	SFRe[186] = SFRe[184] - SFRe[186];
	SFIm[186] = SFIm[184] - SFIm[186];
	SFRe[184] = RA;
	SFIm[184] = IA;
	RA = SFRe[185] + SFRe[187];
	IA = SFIm[185] + SFIm[187];
	SFRe[187] = SFRe[185] - SFRe[187];
	SFIm[187] = SFIm[185] - SFIm[187];
	SFRe[185] = RA;
	SFIm[185] = IA;
	R = SFRe[182] + SFRe[183];
	I = SFIm[182] + SFIm[183];
	SFRe[183] = SFRe[182] - SFRe[183];
	SFIm[183] = SFIm[182] - SFIm[183];
	SFRe[182] = R;
	SFIm[182] = I;
	R = SFRe[180] + SFRe[181];
	I = SFIm[180] + SFIm[181];
	SFRe[181] = SFRe[180] - SFRe[181];
	SFIm[181] = SFIm[180] - SFIm[181];
	SFRe[180] = R;
	SFIm[180] = I;
	Re0 = SFRe[176]; Im0 = SFIm[176];
	Re1 = SFRe[177]; Im1 = SFIm[177];
	Re2 = SFRe[178]; Im2 = SFIm[178];
	Re3 = SFRe[179]; Im3 = SFIm[179];
	SFRe[176] = Re0 + Re1; SFIm[176] = Im0 + Im1;
	SFRe[177] = Re0 - Re1; SFIm[177] = Im0 - Im1;
	SFRe[178] = Re2 + Re3; SFIm[178] = Im2 + Im3;
	SFRe[179] = Im2 - Im3; SFIm[179] = Re3 - Re2;
	RA = SFRe[176] + SFRe[178];
	IA = SFIm[176] + SFIm[178];
	SFRe[178] = SFRe[176] - SFRe[178];
	SFIm[178] = SFIm[176] - SFIm[178];
	SFRe[176] = RA;
	SFIm[176] = IA;
	RA = SFRe[177] + SFRe[179];
	IA = SFIm[177] + SFIm[179];
	SFRe[179] = SFRe[177] - SFRe[179];
	SFIm[179] = SFIm[177] - SFIm[179];
	SFRe[177] = RA;
	SFIm[177] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[180];
	I = SFIm[180];
	SFRe[180] = R * RF1 - I * IF1;
	SFIm[180] = R * IF1 + I * RF1;
	R = SFRe[182];
	I = SFIm[182];
	SFRe[182] = R * RF2 - I * IF2;
	SFIm[182] = R * IF2 + I * RF2;
	R = SFRe[182];
	I = SFIm[182];
	SFRe[182] = SFIm[180] - I;
	SFIm[182] = R - SFRe[180];
	SFRe[180] += R;
	SFIm[180] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[181];
	I = SFIm[181];
	SFRe[181] = R * RF1 - I * IF1;
	SFIm[181] = R * IF1 + I * RF1;
	R = SFRe[183];
	I = SFIm[183];
	SFRe[183] = R * RF2 - I * IF2;
	SFIm[183] = R * IF2 + I * RF2;
	R = SFRe[183];
	I = SFIm[183];
	SFRe[183] = SFIm[181] - I;
	SFIm[183] = R - SFRe[181];
	SFRe[181] += R;
	SFIm[181] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 176), _mm_load_ps(SFRe + 180));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 176), _mm_load_ps(SFIm + 180));
	_mm_store_ps(SFRe + 180, _mm_sub_ps(_mm_load_ps(SFRe + 176), _mm_load_ps(SFRe + 180)));
	_mm_store_ps(SFIm + 180, _mm_sub_ps(_mm_load_ps(SFIm + 176), _mm_load_ps(SFIm + 180)));
	_mm_store_ps(SFRe + 176, mR);
	_mm_store_ps(SFIm + 176, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 184);
	mI = _mm_load_ps(SFIm + 184);
	_mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 184, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 188);
	mI = _mm_load_ps(SFIm + 188);
	_mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 188, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 188);
	mI = _mm_load_ps(SFIm + 188);
	_mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_load_ps(SFIm + 184), mI));
	_mm_store_ps(SFIm + 188, _mm_sub_ps(mR, _mm_load_ps(SFRe + 184)));
	_mm_store_ps(SFRe + 184, _mm_add_ps(_mm_load_ps(SFRe + 184), mR));
	_mm_store_ps(SFIm + 184, _mm_add_ps(_mm_load_ps(SFIm + 184), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 176), _mm256_load_ps(SFRe + 184));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 176), _mm256_load_ps(SFIm + 184));
	_mm256_store_ps(SFRe + 184, _mm256_sub_ps(_mm256_load_ps(SFRe + 176), _mm256_load_ps(SFRe + 184)));
	_mm256_store_ps(SFIm + 184, _mm256_sub_ps(_mm256_load_ps(SFIm + 176), _mm256_load_ps(SFIm + 184)));
	_mm256_store_ps(SFRe + 176, m256R);
	_mm256_store_ps(SFIm + 176, m256I);
	Re0 = SFRe[172]; Im0 = SFIm[172];
	Re1 = SFRe[173]; Im1 = SFIm[173];
	Re2 = SFRe[174]; Im2 = SFIm[174];
	Re3 = SFRe[175]; Im3 = SFIm[175];
	SFRe[172] = Re0 + Re1; SFIm[172] = Im0 + Im1;
	SFRe[173] = Re0 - Re1; SFIm[173] = Im0 - Im1;
	SFRe[174] = Re2 + Re3; SFIm[174] = Im2 + Im3;
	SFRe[175] = Im2 - Im3; SFIm[175] = Re3 - Re2;
	RA = SFRe[172] + SFRe[174];
	IA = SFIm[172] + SFIm[174];
	SFRe[174] = SFRe[172] - SFRe[174];
	SFIm[174] = SFIm[172] - SFIm[174];
	SFRe[172] = RA;
	SFIm[172] = IA;
	RA = SFRe[173] + SFRe[175];
	IA = SFIm[173] + SFIm[175];
	SFRe[175] = SFRe[173] - SFRe[175];
	SFIm[175] = SFIm[173] - SFIm[175];
	SFRe[173] = RA;
	SFIm[173] = IA;
	Re0 = SFRe[168]; Im0 = SFIm[168];
	Re1 = SFRe[169]; Im1 = SFIm[169];
	Re2 = SFRe[170]; Im2 = SFIm[170];
	Re3 = SFRe[171]; Im3 = SFIm[171];
	SFRe[168] = Re0 + Re1; SFIm[168] = Im0 + Im1;
	SFRe[169] = Re0 - Re1; SFIm[169] = Im0 - Im1;
	SFRe[170] = Re2 + Re3; SFIm[170] = Im2 + Im3;
	SFRe[171] = Im2 - Im3; SFIm[171] = Re3 - Re2;
	RA = SFRe[168] + SFRe[170];
	IA = SFIm[168] + SFIm[170];
	SFRe[170] = SFRe[168] - SFRe[170];
	SFIm[170] = SFIm[168] - SFIm[170];
	SFRe[168] = RA;
	SFIm[168] = IA;
	RA = SFRe[169] + SFRe[171];
	IA = SFIm[169] + SFIm[171];
	SFRe[171] = SFRe[169] - SFRe[171];
	SFIm[171] = SFIm[169] - SFIm[171];
	SFRe[169] = RA;
	SFIm[169] = IA;
	R = SFRe[166] + SFRe[167];
	I = SFIm[166] + SFIm[167];
	SFRe[167] = SFRe[166] - SFRe[167];
	SFIm[167] = SFIm[166] - SFIm[167];
	SFRe[166] = R;
	SFIm[166] = I;
	R = SFRe[164] + SFRe[165];
	I = SFIm[164] + SFIm[165];
	SFRe[165] = SFRe[164] - SFRe[165];
	SFIm[165] = SFIm[164] - SFIm[165];
	SFRe[164] = R;
	SFIm[164] = I;
	Re0 = SFRe[160]; Im0 = SFIm[160];
	Re1 = SFRe[161]; Im1 = SFIm[161];
	Re2 = SFRe[162]; Im2 = SFIm[162];
	Re3 = SFRe[163]; Im3 = SFIm[163];
	SFRe[160] = Re0 + Re1; SFIm[160] = Im0 + Im1;
	SFRe[161] = Re0 - Re1; SFIm[161] = Im0 - Im1;
	SFRe[162] = Re2 + Re3; SFIm[162] = Im2 + Im3;
	SFRe[163] = Im2 - Im3; SFIm[163] = Re3 - Re2;
	RA = SFRe[160] + SFRe[162];
	IA = SFIm[160] + SFIm[162];
	SFRe[162] = SFRe[160] - SFRe[162];
	SFIm[162] = SFIm[160] - SFIm[162];
	SFRe[160] = RA;
	SFIm[160] = IA;
	RA = SFRe[161] + SFRe[163];
	IA = SFIm[161] + SFIm[163];
	SFRe[163] = SFRe[161] - SFRe[163];
	SFIm[163] = SFIm[161] - SFIm[163];
	SFRe[161] = RA;
	SFIm[161] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[164];
	I = SFIm[164];
	SFRe[164] = R * RF1 - I * IF1;
	SFIm[164] = R * IF1 + I * RF1;
	R = SFRe[166];
	I = SFIm[166];
	SFRe[166] = R * RF2 - I * IF2;
	SFIm[166] = R * IF2 + I * RF2;
	R = SFRe[166];
	I = SFIm[166];
	SFRe[166] = SFIm[164] - I;
	SFIm[166] = R - SFRe[164];
	SFRe[164] += R;
	SFIm[164] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[165];
	I = SFIm[165];
	SFRe[165] = R * RF1 - I * IF1;
	SFIm[165] = R * IF1 + I * RF1;
	R = SFRe[167];
	I = SFIm[167];
	SFRe[167] = R * RF2 - I * IF2;
	SFIm[167] = R * IF2 + I * RF2;
	R = SFRe[167];
	I = SFIm[167];
	SFRe[167] = SFIm[165] - I;
	SFIm[167] = R - SFRe[165];
	SFRe[165] += R;
	SFIm[165] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 160), _mm_load_ps(SFRe + 164));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 160), _mm_load_ps(SFIm + 164));
	_mm_store_ps(SFRe + 164, _mm_sub_ps(_mm_load_ps(SFRe + 160), _mm_load_ps(SFRe + 164)));
	_mm_store_ps(SFIm + 164, _mm_sub_ps(_mm_load_ps(SFIm + 160), _mm_load_ps(SFIm + 164)));
	_mm_store_ps(SFRe + 160, mR);
	_mm_store_ps(SFIm + 160, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 168);
	mI = _mm_load_ps(SFIm + 168);
	_mm_store_ps(SFRe + 168, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 168, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 172);
	mI = _mm_load_ps(SFIm + 172);
	_mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 172, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 172);
	mI = _mm_load_ps(SFIm + 172);
	_mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_load_ps(SFIm + 168), mI));
	_mm_store_ps(SFIm + 172, _mm_sub_ps(mR, _mm_load_ps(SFRe + 168)));
	_mm_store_ps(SFRe + 168, _mm_add_ps(_mm_load_ps(SFRe + 168), mR));
	_mm_store_ps(SFIm + 168, _mm_add_ps(_mm_load_ps(SFIm + 168), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 160), _mm256_load_ps(SFRe + 168));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 160), _mm256_load_ps(SFIm + 168));
	_mm256_store_ps(SFRe + 168, _mm256_sub_ps(_mm256_load_ps(SFRe + 160), _mm256_load_ps(SFRe + 168)));
	_mm256_store_ps(SFIm + 168, _mm256_sub_ps(_mm256_load_ps(SFIm + 160), _mm256_load_ps(SFIm + 168)));
	_mm256_store_ps(SFRe + 160, m256R);
	_mm256_store_ps(SFIm + 160, m256I);
	R = SFRe[158] + SFRe[159];
	I = SFIm[158] + SFIm[159];
	SFRe[159] = SFRe[158] - SFRe[159];
	SFIm[159] = SFIm[158] - SFIm[159];
	SFRe[158] = R;
	SFIm[158] = I;
	R = SFRe[156] + SFRe[157];
	I = SFIm[156] + SFIm[157];
	SFRe[157] = SFRe[156] - SFRe[157];
	SFIm[157] = SFIm[156] - SFIm[157];
	SFRe[156] = R;
	SFIm[156] = I;
	Re0 = SFRe[152]; Im0 = SFIm[152];
	Re1 = SFRe[153]; Im1 = SFIm[153];
	Re2 = SFRe[154]; Im2 = SFIm[154];
	Re3 = SFRe[155]; Im3 = SFIm[155];
	SFRe[152] = Re0 + Re1; SFIm[152] = Im0 + Im1;
	SFRe[153] = Re0 - Re1; SFIm[153] = Im0 - Im1;
	SFRe[154] = Re2 + Re3; SFIm[154] = Im2 + Im3;
	SFRe[155] = Im2 - Im3; SFIm[155] = Re3 - Re2;
	RA = SFRe[152] + SFRe[154];
	IA = SFIm[152] + SFIm[154];
	SFRe[154] = SFRe[152] - SFRe[154];
	SFIm[154] = SFIm[152] - SFIm[154];
	SFRe[152] = RA;
	SFIm[152] = IA;
	RA = SFRe[153] + SFRe[155];
	IA = SFIm[153] + SFIm[155];
	SFRe[155] = SFRe[153] - SFRe[155];
	SFIm[155] = SFIm[153] - SFIm[155];
	SFRe[153] = RA;
	SFIm[153] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[156];
	I = SFIm[156];
	SFRe[156] = R * RF1 - I * IF1;
	SFIm[156] = R * IF1 + I * RF1;
	R = SFRe[158];
	I = SFIm[158];
	SFRe[158] = R * RF2 - I * IF2;
	SFIm[158] = R * IF2 + I * RF2;
	R = SFRe[158];
	I = SFIm[158];
	SFRe[158] = SFIm[156] - I;
	SFIm[158] = R - SFRe[156];
	SFRe[156] += R;
	SFIm[156] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[157];
	I = SFIm[157];
	SFRe[157] = R * RF1 - I * IF1;
	SFIm[157] = R * IF1 + I * RF1;
	R = SFRe[159];
	I = SFIm[159];
	SFRe[159] = R * RF2 - I * IF2;
	SFIm[159] = R * IF2 + I * RF2;
	R = SFRe[159];
	I = SFIm[159];
	SFRe[159] = SFIm[157] - I;
	SFIm[159] = R - SFRe[157];
	SFRe[157] += R;
	SFIm[157] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 152), _mm_load_ps(SFRe + 156));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 152), _mm_load_ps(SFIm + 156));
	_mm_store_ps(SFRe + 156, _mm_sub_ps(_mm_load_ps(SFRe + 152), _mm_load_ps(SFRe + 156)));
	_mm_store_ps(SFIm + 156, _mm_sub_ps(_mm_load_ps(SFIm + 152), _mm_load_ps(SFIm + 156)));
	_mm_store_ps(SFRe + 152, mR);
	_mm_store_ps(SFIm + 152, mI);
	R = SFRe[150] + SFRe[151];
	I = SFIm[150] + SFIm[151];
	SFRe[151] = SFRe[150] - SFRe[151];
	SFIm[151] = SFIm[150] - SFIm[151];
	SFRe[150] = R;
	SFIm[150] = I;
	R = SFRe[148] + SFRe[149];
	I = SFIm[148] + SFIm[149];
	SFRe[149] = SFRe[148] - SFRe[149];
	SFIm[149] = SFIm[148] - SFIm[149];
	SFRe[148] = R;
	SFIm[148] = I;
	Re0 = SFRe[144]; Im0 = SFIm[144];
	Re1 = SFRe[145]; Im1 = SFIm[145];
	Re2 = SFRe[146]; Im2 = SFIm[146];
	Re3 = SFRe[147]; Im3 = SFIm[147];
	SFRe[144] = Re0 + Re1; SFIm[144] = Im0 + Im1;
	SFRe[145] = Re0 - Re1; SFIm[145] = Im0 - Im1;
	SFRe[146] = Re2 + Re3; SFIm[146] = Im2 + Im3;
	SFRe[147] = Im2 - Im3; SFIm[147] = Re3 - Re2;
	RA = SFRe[144] + SFRe[146];
	IA = SFIm[144] + SFIm[146];
	SFRe[146] = SFRe[144] - SFRe[146];
	SFIm[146] = SFIm[144] - SFIm[146];
	SFRe[144] = RA;
	SFIm[144] = IA;
	RA = SFRe[145] + SFRe[147];
	IA = SFIm[145] + SFIm[147];
	SFRe[147] = SFRe[145] - SFRe[147];
	SFIm[147] = SFIm[145] - SFIm[147];
	SFRe[145] = RA;
	SFIm[145] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[148];
	I = SFIm[148];
	SFRe[148] = R * RF1 - I * IF1;
	SFIm[148] = R * IF1 + I * RF1;
	R = SFRe[150];
	I = SFIm[150];
	SFRe[150] = R * RF2 - I * IF2;
	SFIm[150] = R * IF2 + I * RF2;
	R = SFRe[150];
	I = SFIm[150];
	SFRe[150] = SFIm[148] - I;
	SFIm[150] = R - SFRe[148];
	SFRe[148] += R;
	SFIm[148] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[149];
	I = SFIm[149];
	SFRe[149] = R * RF1 - I * IF1;
	SFIm[149] = R * IF1 + I * RF1;
	R = SFRe[151];
	I = SFIm[151];
	SFRe[151] = R * RF2 - I * IF2;
	SFIm[151] = R * IF2 + I * RF2;
	R = SFRe[151];
	I = SFIm[151];
	SFRe[151] = SFIm[149] - I;
	SFIm[151] = R - SFRe[149];
	SFRe[149] += R;
	SFIm[149] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 144), _mm_load_ps(SFRe + 148));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 144), _mm_load_ps(SFIm + 148));
	_mm_store_ps(SFRe + 148, _mm_sub_ps(_mm_load_ps(SFRe + 144), _mm_load_ps(SFRe + 148)));
	_mm_store_ps(SFIm + 148, _mm_sub_ps(_mm_load_ps(SFIm + 144), _mm_load_ps(SFIm + 148)));
	_mm_store_ps(SFRe + 144, mR);
	_mm_store_ps(SFIm + 144, mI);
	Re0 = SFRe[140]; Im0 = SFIm[140];
	Re1 = SFRe[141]; Im1 = SFIm[141];
	Re2 = SFRe[142]; Im2 = SFIm[142];
	Re3 = SFRe[143]; Im3 = SFIm[143];
	SFRe[140] = Re0 + Re1; SFIm[140] = Im0 + Im1;
	SFRe[141] = Re0 - Re1; SFIm[141] = Im0 - Im1;
	SFRe[142] = Re2 + Re3; SFIm[142] = Im2 + Im3;
	SFRe[143] = Im2 - Im3; SFIm[143] = Re3 - Re2;
	RA = SFRe[140] + SFRe[142];
	IA = SFIm[140] + SFIm[142];
	SFRe[142] = SFRe[140] - SFRe[142];
	SFIm[142] = SFIm[140] - SFIm[142];
	SFRe[140] = RA;
	SFIm[140] = IA;
	RA = SFRe[141] + SFRe[143];
	IA = SFIm[141] + SFIm[143];
	SFRe[143] = SFRe[141] - SFRe[143];
	SFIm[143] = SFIm[141] - SFIm[143];
	SFRe[141] = RA;
	SFIm[141] = IA;
	Re0 = SFRe[136]; Im0 = SFIm[136];
	Re1 = SFRe[137]; Im1 = SFIm[137];
	Re2 = SFRe[138]; Im2 = SFIm[138];
	Re3 = SFRe[139]; Im3 = SFIm[139];
	SFRe[136] = Re0 + Re1; SFIm[136] = Im0 + Im1;
	SFRe[137] = Re0 - Re1; SFIm[137] = Im0 - Im1;
	SFRe[138] = Re2 + Re3; SFIm[138] = Im2 + Im3;
	SFRe[139] = Im2 - Im3; SFIm[139] = Re3 - Re2;
	RA = SFRe[136] + SFRe[138];
	IA = SFIm[136] + SFIm[138];
	SFRe[138] = SFRe[136] - SFRe[138];
	SFIm[138] = SFIm[136] - SFIm[138];
	SFRe[136] = RA;
	SFIm[136] = IA;
	RA = SFRe[137] + SFRe[139];
	IA = SFIm[137] + SFIm[139];
	SFRe[139] = SFRe[137] - SFRe[139];
	SFIm[139] = SFIm[137] - SFIm[139];
	SFRe[137] = RA;
	SFIm[137] = IA;
	R = SFRe[134] + SFRe[135];
	I = SFIm[134] + SFIm[135];
	SFRe[135] = SFRe[134] - SFRe[135];
	SFIm[135] = SFIm[134] - SFIm[135];
	SFRe[134] = R;
	SFIm[134] = I;
	R = SFRe[132] + SFRe[133];
	I = SFIm[132] + SFIm[133];
	SFRe[133] = SFRe[132] - SFRe[133];
	SFIm[133] = SFIm[132] - SFIm[133];
	SFRe[132] = R;
	SFIm[132] = I;
	Re0 = SFRe[128]; Im0 = SFIm[128];
	Re1 = SFRe[129]; Im1 = SFIm[129];
	Re2 = SFRe[130]; Im2 = SFIm[130];
	Re3 = SFRe[131]; Im3 = SFIm[131];
	SFRe[128] = Re0 + Re1; SFIm[128] = Im0 + Im1;
	SFRe[129] = Re0 - Re1; SFIm[129] = Im0 - Im1;
	SFRe[130] = Re2 + Re3; SFIm[130] = Im2 + Im3;
	SFRe[131] = Im2 - Im3; SFIm[131] = Re3 - Re2;
	RA = SFRe[128] + SFRe[130];
	IA = SFIm[128] + SFIm[130];
	SFRe[130] = SFRe[128] - SFRe[130];
	SFIm[130] = SFIm[128] - SFIm[130];
	SFRe[128] = RA;
	SFIm[128] = IA;
	RA = SFRe[129] + SFRe[131];
	IA = SFIm[129] + SFIm[131];
	SFRe[131] = SFRe[129] - SFRe[131];
	SFIm[131] = SFIm[129] - SFIm[131];
	SFRe[129] = RA;
	SFIm[129] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[132];
	I = SFIm[132];
	SFRe[132] = R * RF1 - I * IF1;
	SFIm[132] = R * IF1 + I * RF1;
	R = SFRe[134];
	I = SFIm[134];
	SFRe[134] = R * RF2 - I * IF2;
	SFIm[134] = R * IF2 + I * RF2;
	R = SFRe[134];
	I = SFIm[134];
	SFRe[134] = SFIm[132] - I;
	SFIm[134] = R - SFRe[132];
	SFRe[132] += R;
	SFIm[132] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[133];
	I = SFIm[133];
	SFRe[133] = R * RF1 - I * IF1;
	SFIm[133] = R * IF1 + I * RF1;
	R = SFRe[135];
	I = SFIm[135];
	SFRe[135] = R * RF2 - I * IF2;
	SFIm[135] = R * IF2 + I * RF2;
	R = SFRe[135];
	I = SFIm[135];
	SFRe[135] = SFIm[133] - I;
	SFIm[135] = R - SFRe[133];
	SFRe[133] += R;
	SFIm[133] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 132));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 132));
	_mm_store_ps(SFRe + 132, _mm_sub_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 132)));
	_mm_store_ps(SFIm + 132, _mm_sub_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 132)));
	_mm_store_ps(SFRe + 128, mR);
	_mm_store_ps(SFIm + 128, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 136);
	mI = _mm_load_ps(SFIm + 136);
	_mm_store_ps(SFRe + 136, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 136, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 140);
	mI = _mm_load_ps(SFIm + 140);
	_mm_store_ps(SFRe + 140, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 140, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 140);
	mI = _mm_load_ps(SFIm + 140);
	_mm_store_ps(SFRe + 140, _mm_sub_ps(_mm_load_ps(SFIm + 136), mI));
	_mm_store_ps(SFIm + 140, _mm_sub_ps(mR, _mm_load_ps(SFRe + 136)));
	_mm_store_ps(SFRe + 136, _mm_add_ps(_mm_load_ps(SFRe + 136), mR));
	_mm_store_ps(SFIm + 136, _mm_add_ps(_mm_load_ps(SFIm + 136), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 128), _mm256_load_ps(SFRe + 136));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 128), _mm256_load_ps(SFIm + 136));
	_mm256_store_ps(SFRe + 136, _mm256_sub_ps(_mm256_load_ps(SFRe + 128), _mm256_load_ps(SFRe + 136)));
	_mm256_store_ps(SFIm + 136, _mm256_sub_ps(_mm256_load_ps(SFIm + 128), _mm256_load_ps(SFIm + 136)));
	_mm256_store_ps(SFRe + 128, m256R);
	_mm256_store_ps(SFIm + 128, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 144);
	m256I = _mm256_load_ps(SFIm + 144);
	_mm256_store_ps(SFRe + 144, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 144, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 152);
	m256I = _mm256_load_ps(SFIm + 152);
	_mm256_store_ps(SFRe + 152, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 152, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 152);
	m256I = _mm256_load_ps(SFIm + 152);
	_mm256_store_ps(SFRe + 152, _mm256_sub_ps(_mm256_load_ps(SFIm + 144), m256I));
	_mm256_store_ps(SFIm + 152, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 144)));
	_mm256_store_ps(SFRe + 144, _mm256_add_ps(_mm256_load_ps(SFRe + 144), m256R));
	_mm256_store_ps(SFIm + 144, _mm256_add_ps(_mm256_load_ps(SFIm + 144), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 128), _mm256_load_ps(SFRe + 144));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 128), _mm256_load_ps(SFIm + 144));
	_mm256_store_ps(SFRe + 144, _mm256_sub_ps(_mm256_load_ps(SFRe + 128), _mm256_load_ps(SFRe + 144)));
	_mm256_store_ps(SFIm + 144, _mm256_sub_ps(_mm256_load_ps(SFIm + 128), _mm256_load_ps(SFIm + 144)));
	_mm256_store_ps(SFRe + 128, m256R);
	_mm256_store_ps(SFIm + 128, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 136), _mm256_load_ps(SFRe + 152));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 136), _mm256_load_ps(SFIm + 152));
	_mm256_store_ps(SFRe + 152, _mm256_sub_ps(_mm256_load_ps(SFRe + 136), _mm256_load_ps(SFRe + 152)));
	_mm256_store_ps(SFIm + 152, _mm256_sub_ps(_mm256_load_ps(SFIm + 136), _mm256_load_ps(SFIm + 152)));
	_mm256_store_ps(SFRe + 136, m256R);
	_mm256_store_ps(SFIm + 136, m256I);
	m256RF1 = _mm256_set_ps(0.773019, 0.831492, 0.881929, 0.923896, 0.956946, 0.980794, 0.995187, 1.000000);
	m256IF1 = _mm256_set_ps(-0.634382, -0.555536, -0.471382, -0.382643, -0.290265, -0.195044, -0.097994, -0.000000);
	m256RF2 = _mm256_set_ps(-0.471404, -0.195069, 0.098019, 0.382712, 0.634402, 0.831492, 0.956946, 1.000000);
	m256IF2 = _mm256_set_ps(-0.881918, -0.980790, -0.995185, -0.923868, -0.773004, -0.555536, -0.290265, -0.000000);
	m256R = _mm256_load_ps(SFRe + 160);
	m256I = _mm256_load_ps(SFIm + 160);
	_mm256_store_ps(SFRe + 160, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 160, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 176);
	m256I = _mm256_load_ps(SFIm + 176);
	_mm256_store_ps(SFRe + 176, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 176, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 176);
	m256I = _mm256_load_ps(SFIm + 176);
	_mm256_store_ps(SFRe + 176, _mm256_sub_ps(_mm256_load_ps(SFIm + 160), m256I));
	_mm256_store_ps(SFIm + 176, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 160)));
	_mm256_store_ps(SFRe + 160, _mm256_add_ps(_mm256_load_ps(SFRe + 160), m256R));
	_mm256_store_ps(SFIm + 160, _mm256_add_ps(_mm256_load_ps(SFIm + 160), m256I));
	m256RF1 = _mm256_set_ps(0.098019, 0.195118, 0.290289, 0.382712, 0.471404, 0.555599, 0.634402, 0.707133);
	m256IF1 = _mm256_set_ps(-0.995185, -0.980780, -0.956939, -0.923868, -0.881918, -0.831451, -0.773004, -0.707080);
	m256RF2 = _mm256_set_ps(-0.290289, -0.555599, -0.773019, -0.923896, -0.995187, -0.980785, -0.881929, -0.707098);
	m256IF2 = _mm256_set_ps(0.956939, 0.831451, 0.634382, 0.382643, 0.097994, -0.195093, -0.471382, -0.707116);
	m256R = _mm256_load_ps(SFRe + 168);
	m256I = _mm256_load_ps(SFIm + 168);
	_mm256_store_ps(SFRe + 168, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 168, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 184);
	m256I = _mm256_load_ps(SFIm + 184);
	_mm256_store_ps(SFRe + 184, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 184, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 184);
	m256I = _mm256_load_ps(SFIm + 184);
	_mm256_store_ps(SFRe + 184, _mm256_sub_ps(_mm256_load_ps(SFIm + 168), m256I));
	_mm256_store_ps(SFIm + 184, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 168)));
	_mm256_store_ps(SFRe + 168, _mm256_add_ps(_mm256_load_ps(SFRe + 168), m256R));
	_mm256_store_ps(SFIm + 168, _mm256_add_ps(_mm256_load_ps(SFIm + 168), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 128), _mm256_load_ps(SFRe + 160));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 128), _mm256_load_ps(SFIm + 160));
	_mm256_store_ps(SFRe + 160, _mm256_sub_ps(_mm256_load_ps(SFRe + 128), _mm256_load_ps(SFRe + 160)));
	_mm256_store_ps(SFIm + 160, _mm256_sub_ps(_mm256_load_ps(SFIm + 128), _mm256_load_ps(SFIm + 160)));
	_mm256_store_ps(SFRe + 128, m256R);
	_mm256_store_ps(SFIm + 128, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 136), _mm256_load_ps(SFRe + 168));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 136), _mm256_load_ps(SFIm + 168));
	_mm256_store_ps(SFRe + 168, _mm256_sub_ps(_mm256_load_ps(SFRe + 136), _mm256_load_ps(SFRe + 168)));
	_mm256_store_ps(SFIm + 168, _mm256_sub_ps(_mm256_load_ps(SFIm + 136), _mm256_load_ps(SFIm + 168)));
	_mm256_store_ps(SFRe + 136, m256R);
	_mm256_store_ps(SFIm + 136, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 144), _mm256_load_ps(SFRe + 176));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 144), _mm256_load_ps(SFIm + 176));
	_mm256_store_ps(SFRe + 176, _mm256_sub_ps(_mm256_load_ps(SFRe + 144), _mm256_load_ps(SFRe + 176)));
	_mm256_store_ps(SFIm + 176, _mm256_sub_ps(_mm256_load_ps(SFIm + 144), _mm256_load_ps(SFIm + 176)));
	_mm256_store_ps(SFRe + 144, m256R);
	_mm256_store_ps(SFIm + 144, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 152), _mm256_load_ps(SFRe + 184));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 152), _mm256_load_ps(SFIm + 184));
	_mm256_store_ps(SFRe + 184, _mm256_sub_ps(_mm256_load_ps(SFRe + 152), _mm256_load_ps(SFRe + 184)));
	_mm256_store_ps(SFIm + 184, _mm256_sub_ps(_mm256_load_ps(SFIm + 152), _mm256_load_ps(SFIm + 184)));
	_mm256_store_ps(SFRe + 152, m256R);
	_mm256_store_ps(SFIm + 152, m256I);
	R = SFRe[126] + SFRe[127];
	I = SFIm[126] + SFIm[127];
	SFRe[127] = SFRe[126] - SFRe[127];
	SFIm[127] = SFIm[126] - SFIm[127];
	SFRe[126] = R;
	SFIm[126] = I;
	R = SFRe[124] + SFRe[125];
	I = SFIm[124] + SFIm[125];
	SFRe[125] = SFRe[124] - SFRe[125];
	SFIm[125] = SFIm[124] - SFIm[125];
	SFRe[124] = R;
	SFIm[124] = I;
	Re0 = SFRe[120]; Im0 = SFIm[120];
	Re1 = SFRe[121]; Im1 = SFIm[121];
	Re2 = SFRe[122]; Im2 = SFIm[122];
	Re3 = SFRe[123]; Im3 = SFIm[123];
	SFRe[120] = Re0 + Re1; SFIm[120] = Im0 + Im1;
	SFRe[121] = Re0 - Re1; SFIm[121] = Im0 - Im1;
	SFRe[122] = Re2 + Re3; SFIm[122] = Im2 + Im3;
	SFRe[123] = Im2 - Im3; SFIm[123] = Re3 - Re2;
	RA = SFRe[120] + SFRe[122];
	IA = SFIm[120] + SFIm[122];
	SFRe[122] = SFRe[120] - SFRe[122];
	SFIm[122] = SFIm[120] - SFIm[122];
	SFRe[120] = RA;
	SFIm[120] = IA;
	RA = SFRe[121] + SFRe[123];
	IA = SFIm[121] + SFIm[123];
	SFRe[123] = SFRe[121] - SFRe[123];
	SFIm[123] = SFIm[121] - SFIm[123];
	SFRe[121] = RA;
	SFIm[121] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[124];
	I = SFIm[124];
	SFRe[124] = R * RF1 - I * IF1;
	SFIm[124] = R * IF1 + I * RF1;
	R = SFRe[126];
	I = SFIm[126];
	SFRe[126] = R * RF2 - I * IF2;
	SFIm[126] = R * IF2 + I * RF2;
	R = SFRe[126];
	I = SFIm[126];
	SFRe[126] = SFIm[124] - I;
	SFIm[126] = R - SFRe[124];
	SFRe[124] += R;
	SFIm[124] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[125];
	I = SFIm[125];
	SFRe[125] = R * RF1 - I * IF1;
	SFIm[125] = R * IF1 + I * RF1;
	R = SFRe[127];
	I = SFIm[127];
	SFRe[127] = R * RF2 - I * IF2;
	SFIm[127] = R * IF2 + I * RF2;
	R = SFRe[127];
	I = SFIm[127];
	SFRe[127] = SFIm[125] - I;
	SFIm[127] = R - SFRe[125];
	SFRe[125] += R;
	SFIm[125] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 120), _mm_load_ps(SFRe + 124));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 120), _mm_load_ps(SFIm + 124));
	_mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_load_ps(SFRe + 120), _mm_load_ps(SFRe + 124)));
	_mm_store_ps(SFIm + 124, _mm_sub_ps(_mm_load_ps(SFIm + 120), _mm_load_ps(SFIm + 124)));
	_mm_store_ps(SFRe + 120, mR);
	_mm_store_ps(SFIm + 120, mI);
	R = SFRe[118] + SFRe[119];
	I = SFIm[118] + SFIm[119];
	SFRe[119] = SFRe[118] - SFRe[119];
	SFIm[119] = SFIm[118] - SFIm[119];
	SFRe[118] = R;
	SFIm[118] = I;
	R = SFRe[116] + SFRe[117];
	I = SFIm[116] + SFIm[117];
	SFRe[117] = SFRe[116] - SFRe[117];
	SFIm[117] = SFIm[116] - SFIm[117];
	SFRe[116] = R;
	SFIm[116] = I;
	Re0 = SFRe[112]; Im0 = SFIm[112];
	Re1 = SFRe[113]; Im1 = SFIm[113];
	Re2 = SFRe[114]; Im2 = SFIm[114];
	Re3 = SFRe[115]; Im3 = SFIm[115];
	SFRe[112] = Re0 + Re1; SFIm[112] = Im0 + Im1;
	SFRe[113] = Re0 - Re1; SFIm[113] = Im0 - Im1;
	SFRe[114] = Re2 + Re3; SFIm[114] = Im2 + Im3;
	SFRe[115] = Im2 - Im3; SFIm[115] = Re3 - Re2;
	RA = SFRe[112] + SFRe[114];
	IA = SFIm[112] + SFIm[114];
	SFRe[114] = SFRe[112] - SFRe[114];
	SFIm[114] = SFIm[112] - SFIm[114];
	SFRe[112] = RA;
	SFIm[112] = IA;
	RA = SFRe[113] + SFRe[115];
	IA = SFIm[113] + SFIm[115];
	SFRe[115] = SFRe[113] - SFRe[115];
	SFIm[115] = SFIm[113] - SFIm[115];
	SFRe[113] = RA;
	SFIm[113] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[116];
	I = SFIm[116];
	SFRe[116] = R * RF1 - I * IF1;
	SFIm[116] = R * IF1 + I * RF1;
	R = SFRe[118];
	I = SFIm[118];
	SFRe[118] = R * RF2 - I * IF2;
	SFIm[118] = R * IF2 + I * RF2;
	R = SFRe[118];
	I = SFIm[118];
	SFRe[118] = SFIm[116] - I;
	SFIm[118] = R - SFRe[116];
	SFRe[116] += R;
	SFIm[116] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[117];
	I = SFIm[117];
	SFRe[117] = R * RF1 - I * IF1;
	SFIm[117] = R * IF1 + I * RF1;
	R = SFRe[119];
	I = SFIm[119];
	SFRe[119] = R * RF2 - I * IF2;
	SFIm[119] = R * IF2 + I * RF2;
	R = SFRe[119];
	I = SFIm[119];
	SFRe[119] = SFIm[117] - I;
	SFIm[119] = R - SFRe[117];
	SFRe[117] += R;
	SFIm[117] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 112), _mm_load_ps(SFRe + 116));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 112), _mm_load_ps(SFIm + 116));
	_mm_store_ps(SFRe + 116, _mm_sub_ps(_mm_load_ps(SFRe + 112), _mm_load_ps(SFRe + 116)));
	_mm_store_ps(SFIm + 116, _mm_sub_ps(_mm_load_ps(SFIm + 112), _mm_load_ps(SFIm + 116)));
	_mm_store_ps(SFRe + 112, mR);
	_mm_store_ps(SFIm + 112, mI);
	Re0 = SFRe[108]; Im0 = SFIm[108];
	Re1 = SFRe[109]; Im1 = SFIm[109];
	Re2 = SFRe[110]; Im2 = SFIm[110];
	Re3 = SFRe[111]; Im3 = SFIm[111];
	SFRe[108] = Re0 + Re1; SFIm[108] = Im0 + Im1;
	SFRe[109] = Re0 - Re1; SFIm[109] = Im0 - Im1;
	SFRe[110] = Re2 + Re3; SFIm[110] = Im2 + Im3;
	SFRe[111] = Im2 - Im3; SFIm[111] = Re3 - Re2;
	RA = SFRe[108] + SFRe[110];
	IA = SFIm[108] + SFIm[110];
	SFRe[110] = SFRe[108] - SFRe[110];
	SFIm[110] = SFIm[108] - SFIm[110];
	SFRe[108] = RA;
	SFIm[108] = IA;
	RA = SFRe[109] + SFRe[111];
	IA = SFIm[109] + SFIm[111];
	SFRe[111] = SFRe[109] - SFRe[111];
	SFIm[111] = SFIm[109] - SFIm[111];
	SFRe[109] = RA;
	SFIm[109] = IA;
	Re0 = SFRe[104]; Im0 = SFIm[104];
	Re1 = SFRe[105]; Im1 = SFIm[105];
	Re2 = SFRe[106]; Im2 = SFIm[106];
	Re3 = SFRe[107]; Im3 = SFIm[107];
	SFRe[104] = Re0 + Re1; SFIm[104] = Im0 + Im1;
	SFRe[105] = Re0 - Re1; SFIm[105] = Im0 - Im1;
	SFRe[106] = Re2 + Re3; SFIm[106] = Im2 + Im3;
	SFRe[107] = Im2 - Im3; SFIm[107] = Re3 - Re2;
	RA = SFRe[104] + SFRe[106];
	IA = SFIm[104] + SFIm[106];
	SFRe[106] = SFRe[104] - SFRe[106];
	SFIm[106] = SFIm[104] - SFIm[106];
	SFRe[104] = RA;
	SFIm[104] = IA;
	RA = SFRe[105] + SFRe[107];
	IA = SFIm[105] + SFIm[107];
	SFRe[107] = SFRe[105] - SFRe[107];
	SFIm[107] = SFIm[105] - SFIm[107];
	SFRe[105] = RA;
	SFIm[105] = IA;
	R = SFRe[102] + SFRe[103];
	I = SFIm[102] + SFIm[103];
	SFRe[103] = SFRe[102] - SFRe[103];
	SFIm[103] = SFIm[102] - SFIm[103];
	SFRe[102] = R;
	SFIm[102] = I;
	R = SFRe[100] + SFRe[101];
	I = SFIm[100] + SFIm[101];
	SFRe[101] = SFRe[100] - SFRe[101];
	SFIm[101] = SFIm[100] - SFIm[101];
	SFRe[100] = R;
	SFIm[100] = I;
	Re0 = SFRe[96]; Im0 = SFIm[96];
	Re1 = SFRe[97]; Im1 = SFIm[97];
	Re2 = SFRe[98]; Im2 = SFIm[98];
	Re3 = SFRe[99]; Im3 = SFIm[99];
	SFRe[96] = Re0 + Re1; SFIm[96] = Im0 + Im1;
	SFRe[97] = Re0 - Re1; SFIm[97] = Im0 - Im1;
	SFRe[98] = Re2 + Re3; SFIm[98] = Im2 + Im3;
	SFRe[99] = Im2 - Im3; SFIm[99] = Re3 - Re2;
	RA = SFRe[96] + SFRe[98];
	IA = SFIm[96] + SFIm[98];
	SFRe[98] = SFRe[96] - SFRe[98];
	SFIm[98] = SFIm[96] - SFIm[98];
	SFRe[96] = RA;
	SFIm[96] = IA;
	RA = SFRe[97] + SFRe[99];
	IA = SFIm[97] + SFIm[99];
	SFRe[99] = SFRe[97] - SFRe[99];
	SFIm[99] = SFIm[97] - SFIm[99];
	SFRe[97] = RA;
	SFIm[97] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[100];
	I = SFIm[100];
	SFRe[100] = R * RF1 - I * IF1;
	SFIm[100] = R * IF1 + I * RF1;
	R = SFRe[102];
	I = SFIm[102];
	SFRe[102] = R * RF2 - I * IF2;
	SFIm[102] = R * IF2 + I * RF2;
	R = SFRe[102];
	I = SFIm[102];
	SFRe[102] = SFIm[100] - I;
	SFIm[102] = R - SFRe[100];
	SFRe[100] += R;
	SFIm[100] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[101];
	I = SFIm[101];
	SFRe[101] = R * RF1 - I * IF1;
	SFIm[101] = R * IF1 + I * RF1;
	R = SFRe[103];
	I = SFIm[103];
	SFRe[103] = R * RF2 - I * IF2;
	SFIm[103] = R * IF2 + I * RF2;
	R = SFRe[103];
	I = SFIm[103];
	SFRe[103] = SFIm[101] - I;
	SFIm[103] = R - SFRe[101];
	SFRe[101] += R;
	SFIm[101] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 100));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 100));
	_mm_store_ps(SFRe + 100, _mm_sub_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 100)));
	_mm_store_ps(SFIm + 100, _mm_sub_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 100)));
	_mm_store_ps(SFRe + 96, mR);
	_mm_store_ps(SFIm + 96, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 104);
	mI = _mm_load_ps(SFIm + 104);
	_mm_store_ps(SFRe + 104, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 104, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 108);
	mI = _mm_load_ps(SFIm + 108);
	_mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 108, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 108);
	mI = _mm_load_ps(SFIm + 108);
	_mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_load_ps(SFIm + 104), mI));
	_mm_store_ps(SFIm + 108, _mm_sub_ps(mR, _mm_load_ps(SFRe + 104)));
	_mm_store_ps(SFRe + 104, _mm_add_ps(_mm_load_ps(SFRe + 104), mR));
	_mm_store_ps(SFIm + 104, _mm_add_ps(_mm_load_ps(SFIm + 104), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 96), _mm256_load_ps(SFRe + 104));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 96), _mm256_load_ps(SFIm + 104));
	_mm256_store_ps(SFRe + 104, _mm256_sub_ps(_mm256_load_ps(SFRe + 96), _mm256_load_ps(SFRe + 104)));
	_mm256_store_ps(SFIm + 104, _mm256_sub_ps(_mm256_load_ps(SFIm + 96), _mm256_load_ps(SFIm + 104)));
	_mm256_store_ps(SFRe + 96, m256R);
	_mm256_store_ps(SFIm + 96, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 112);
	m256I = _mm256_load_ps(SFIm + 112);
	_mm256_store_ps(SFRe + 112, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 112, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 120);
	m256I = _mm256_load_ps(SFIm + 120);
	_mm256_store_ps(SFRe + 120, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 120, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 120);
	m256I = _mm256_load_ps(SFIm + 120);
	_mm256_store_ps(SFRe + 120, _mm256_sub_ps(_mm256_load_ps(SFIm + 112), m256I));
	_mm256_store_ps(SFIm + 120, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 112)));
	_mm256_store_ps(SFRe + 112, _mm256_add_ps(_mm256_load_ps(SFRe + 112), m256R));
	_mm256_store_ps(SFIm + 112, _mm256_add_ps(_mm256_load_ps(SFIm + 112), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 96), _mm256_load_ps(SFRe + 112));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 96), _mm256_load_ps(SFIm + 112));
	_mm256_store_ps(SFRe + 112, _mm256_sub_ps(_mm256_load_ps(SFRe + 96), _mm256_load_ps(SFRe + 112)));
	_mm256_store_ps(SFIm + 112, _mm256_sub_ps(_mm256_load_ps(SFIm + 96), _mm256_load_ps(SFIm + 112)));
	_mm256_store_ps(SFRe + 96, m256R);
	_mm256_store_ps(SFIm + 96, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 104), _mm256_load_ps(SFRe + 120));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 104), _mm256_load_ps(SFIm + 120));
	_mm256_store_ps(SFRe + 120, _mm256_sub_ps(_mm256_load_ps(SFRe + 104), _mm256_load_ps(SFRe + 120)));
	_mm256_store_ps(SFIm + 120, _mm256_sub_ps(_mm256_load_ps(SFIm + 104), _mm256_load_ps(SFIm + 120)));
	_mm256_store_ps(SFRe + 104, m256R);
	_mm256_store_ps(SFIm + 104, m256I);
	R = SFRe[94] + SFRe[95];
	I = SFIm[94] + SFIm[95];
	SFRe[95] = SFRe[94] - SFRe[95];
	SFIm[95] = SFIm[94] - SFIm[95];
	SFRe[94] = R;
	SFIm[94] = I;
	R = SFRe[92] + SFRe[93];
	I = SFIm[92] + SFIm[93];
	SFRe[93] = SFRe[92] - SFRe[93];
	SFIm[93] = SFIm[92] - SFIm[93];
	SFRe[92] = R;
	SFIm[92] = I;
	Re0 = SFRe[88]; Im0 = SFIm[88];
	Re1 = SFRe[89]; Im1 = SFIm[89];
	Re2 = SFRe[90]; Im2 = SFIm[90];
	Re3 = SFRe[91]; Im3 = SFIm[91];
	SFRe[88] = Re0 + Re1; SFIm[88] = Im0 + Im1;
	SFRe[89] = Re0 - Re1; SFIm[89] = Im0 - Im1;
	SFRe[90] = Re2 + Re3; SFIm[90] = Im2 + Im3;
	SFRe[91] = Im2 - Im3; SFIm[91] = Re3 - Re2;
	RA = SFRe[88] + SFRe[90];
	IA = SFIm[88] + SFIm[90];
	SFRe[90] = SFRe[88] - SFRe[90];
	SFIm[90] = SFIm[88] - SFIm[90];
	SFRe[88] = RA;
	SFIm[88] = IA;
	RA = SFRe[89] + SFRe[91];
	IA = SFIm[89] + SFIm[91];
	SFRe[91] = SFRe[89] - SFRe[91];
	SFIm[91] = SFIm[89] - SFIm[91];
	SFRe[89] = RA;
	SFIm[89] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[92];
	I = SFIm[92];
	SFRe[92] = R * RF1 - I * IF1;
	SFIm[92] = R * IF1 + I * RF1;
	R = SFRe[94];
	I = SFIm[94];
	SFRe[94] = R * RF2 - I * IF2;
	SFIm[94] = R * IF2 + I * RF2;
	R = SFRe[94];
	I = SFIm[94];
	SFRe[94] = SFIm[92] - I;
	SFIm[94] = R - SFRe[92];
	SFRe[92] += R;
	SFIm[92] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[93];
	I = SFIm[93];
	SFRe[93] = R * RF1 - I * IF1;
	SFIm[93] = R * IF1 + I * RF1;
	R = SFRe[95];
	I = SFIm[95];
	SFRe[95] = R * RF2 - I * IF2;
	SFIm[95] = R * IF2 + I * RF2;
	R = SFRe[95];
	I = SFIm[95];
	SFRe[95] = SFIm[93] - I;
	SFIm[95] = R - SFRe[93];
	SFRe[93] += R;
	SFIm[93] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 88), _mm_load_ps(SFRe + 92));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 88), _mm_load_ps(SFIm + 92));
	_mm_store_ps(SFRe + 92, _mm_sub_ps(_mm_load_ps(SFRe + 88), _mm_load_ps(SFRe + 92)));
	_mm_store_ps(SFIm + 92, _mm_sub_ps(_mm_load_ps(SFIm + 88), _mm_load_ps(SFIm + 92)));
	_mm_store_ps(SFRe + 88, mR);
	_mm_store_ps(SFIm + 88, mI);
	R = SFRe[86] + SFRe[87];
	I = SFIm[86] + SFIm[87];
	SFRe[87] = SFRe[86] - SFRe[87];
	SFIm[87] = SFIm[86] - SFIm[87];
	SFRe[86] = R;
	SFIm[86] = I;
	R = SFRe[84] + SFRe[85];
	I = SFIm[84] + SFIm[85];
	SFRe[85] = SFRe[84] - SFRe[85];
	SFIm[85] = SFIm[84] - SFIm[85];
	SFRe[84] = R;
	SFIm[84] = I;
	Re0 = SFRe[80]; Im0 = SFIm[80];
	Re1 = SFRe[81]; Im1 = SFIm[81];
	Re2 = SFRe[82]; Im2 = SFIm[82];
	Re3 = SFRe[83]; Im3 = SFIm[83];
	SFRe[80] = Re0 + Re1; SFIm[80] = Im0 + Im1;
	SFRe[81] = Re0 - Re1; SFIm[81] = Im0 - Im1;
	SFRe[82] = Re2 + Re3; SFIm[82] = Im2 + Im3;
	SFRe[83] = Im2 - Im3; SFIm[83] = Re3 - Re2;
	RA = SFRe[80] + SFRe[82];
	IA = SFIm[80] + SFIm[82];
	SFRe[82] = SFRe[80] - SFRe[82];
	SFIm[82] = SFIm[80] - SFIm[82];
	SFRe[80] = RA;
	SFIm[80] = IA;
	RA = SFRe[81] + SFRe[83];
	IA = SFIm[81] + SFIm[83];
	SFRe[83] = SFRe[81] - SFRe[83];
	SFIm[83] = SFIm[81] - SFIm[83];
	SFRe[81] = RA;
	SFIm[81] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[84];
	I = SFIm[84];
	SFRe[84] = R * RF1 - I * IF1;
	SFIm[84] = R * IF1 + I * RF1;
	R = SFRe[86];
	I = SFIm[86];
	SFRe[86] = R * RF2 - I * IF2;
	SFIm[86] = R * IF2 + I * RF2;
	R = SFRe[86];
	I = SFIm[86];
	SFRe[86] = SFIm[84] - I;
	SFIm[86] = R - SFRe[84];
	SFRe[84] += R;
	SFIm[84] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[85];
	I = SFIm[85];
	SFRe[85] = R * RF1 - I * IF1;
	SFIm[85] = R * IF1 + I * RF1;
	R = SFRe[87];
	I = SFIm[87];
	SFRe[87] = R * RF2 - I * IF2;
	SFIm[87] = R * IF2 + I * RF2;
	R = SFRe[87];
	I = SFIm[87];
	SFRe[87] = SFIm[85] - I;
	SFIm[87] = R - SFRe[85];
	SFRe[85] += R;
	SFIm[85] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 80), _mm_load_ps(SFRe + 84));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 80), _mm_load_ps(SFIm + 84));
	_mm_store_ps(SFRe + 84, _mm_sub_ps(_mm_load_ps(SFRe + 80), _mm_load_ps(SFRe + 84)));
	_mm_store_ps(SFIm + 84, _mm_sub_ps(_mm_load_ps(SFIm + 80), _mm_load_ps(SFIm + 84)));
	_mm_store_ps(SFRe + 80, mR);
	_mm_store_ps(SFIm + 80, mI);
	Re0 = SFRe[76]; Im0 = SFIm[76];
	Re1 = SFRe[77]; Im1 = SFIm[77];
	Re2 = SFRe[78]; Im2 = SFIm[78];
	Re3 = SFRe[79]; Im3 = SFIm[79];
	SFRe[76] = Re0 + Re1; SFIm[76] = Im0 + Im1;
	SFRe[77] = Re0 - Re1; SFIm[77] = Im0 - Im1;
	SFRe[78] = Re2 + Re3; SFIm[78] = Im2 + Im3;
	SFRe[79] = Im2 - Im3; SFIm[79] = Re3 - Re2;
	RA = SFRe[76] + SFRe[78];
	IA = SFIm[76] + SFIm[78];
	SFRe[78] = SFRe[76] - SFRe[78];
	SFIm[78] = SFIm[76] - SFIm[78];
	SFRe[76] = RA;
	SFIm[76] = IA;
	RA = SFRe[77] + SFRe[79];
	IA = SFIm[77] + SFIm[79];
	SFRe[79] = SFRe[77] - SFRe[79];
	SFIm[79] = SFIm[77] - SFIm[79];
	SFRe[77] = RA;
	SFIm[77] = IA;
	Re0 = SFRe[72]; Im0 = SFIm[72];
	Re1 = SFRe[73]; Im1 = SFIm[73];
	Re2 = SFRe[74]; Im2 = SFIm[74];
	Re3 = SFRe[75]; Im3 = SFIm[75];
	SFRe[72] = Re0 + Re1; SFIm[72] = Im0 + Im1;
	SFRe[73] = Re0 - Re1; SFIm[73] = Im0 - Im1;
	SFRe[74] = Re2 + Re3; SFIm[74] = Im2 + Im3;
	SFRe[75] = Im2 - Im3; SFIm[75] = Re3 - Re2;
	RA = SFRe[72] + SFRe[74];
	IA = SFIm[72] + SFIm[74];
	SFRe[74] = SFRe[72] - SFRe[74];
	SFIm[74] = SFIm[72] - SFIm[74];
	SFRe[72] = RA;
	SFIm[72] = IA;
	RA = SFRe[73] + SFRe[75];
	IA = SFIm[73] + SFIm[75];
	SFRe[75] = SFRe[73] - SFRe[75];
	SFIm[75] = SFIm[73] - SFIm[75];
	SFRe[73] = RA;
	SFIm[73] = IA;
	R = SFRe[70] + SFRe[71];
	I = SFIm[70] + SFIm[71];
	SFRe[71] = SFRe[70] - SFRe[71];
	SFIm[71] = SFIm[70] - SFIm[71];
	SFRe[70] = R;
	SFIm[70] = I;
	R = SFRe[68] + SFRe[69];
	I = SFIm[68] + SFIm[69];
	SFRe[69] = SFRe[68] - SFRe[69];
	SFIm[69] = SFIm[68] - SFIm[69];
	SFRe[68] = R;
	SFIm[68] = I;
	Re0 = SFRe[64]; Im0 = SFIm[64];
	Re1 = SFRe[65]; Im1 = SFIm[65];
	Re2 = SFRe[66]; Im2 = SFIm[66];
	Re3 = SFRe[67]; Im3 = SFIm[67];
	SFRe[64] = Re0 + Re1; SFIm[64] = Im0 + Im1;
	SFRe[65] = Re0 - Re1; SFIm[65] = Im0 - Im1;
	SFRe[66] = Re2 + Re3; SFIm[66] = Im2 + Im3;
	SFRe[67] = Im2 - Im3; SFIm[67] = Re3 - Re2;
	RA = SFRe[64] + SFRe[66];
	IA = SFIm[64] + SFIm[66];
	SFRe[66] = SFRe[64] - SFRe[66];
	SFIm[66] = SFIm[64] - SFIm[66];
	SFRe[64] = RA;
	SFIm[64] = IA;
	RA = SFRe[65] + SFRe[67];
	IA = SFIm[65] + SFIm[67];
	SFRe[67] = SFRe[65] - SFRe[67];
	SFIm[67] = SFIm[65] - SFIm[67];
	SFRe[65] = RA;
	SFIm[65] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[68];
	I = SFIm[68];
	SFRe[68] = R * RF1 - I * IF1;
	SFIm[68] = R * IF1 + I * RF1;
	R = SFRe[70];
	I = SFIm[70];
	SFRe[70] = R * RF2 - I * IF2;
	SFIm[70] = R * IF2 + I * RF2;
	R = SFRe[70];
	I = SFIm[70];
	SFRe[70] = SFIm[68] - I;
	SFIm[70] = R - SFRe[68];
	SFRe[68] += R;
	SFIm[68] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[69];
	I = SFIm[69];
	SFRe[69] = R * RF1 - I * IF1;
	SFIm[69] = R * IF1 + I * RF1;
	R = SFRe[71];
	I = SFIm[71];
	SFRe[71] = R * RF2 - I * IF2;
	SFIm[71] = R * IF2 + I * RF2;
	R = SFRe[71];
	I = SFIm[71];
	SFRe[71] = SFIm[69] - I;
	SFIm[71] = R - SFRe[69];
	SFRe[69] += R;
	SFIm[69] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 68));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 68));
	_mm_store_ps(SFRe + 68, _mm_sub_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 68)));
	_mm_store_ps(SFIm + 68, _mm_sub_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 68)));
	_mm_store_ps(SFRe + 64, mR);
	_mm_store_ps(SFIm + 64, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 72);
	mI = _mm_load_ps(SFIm + 72);
	_mm_store_ps(SFRe + 72, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 72, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 76);
	mI = _mm_load_ps(SFIm + 76);
	_mm_store_ps(SFRe + 76, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 76, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 76);
	mI = _mm_load_ps(SFIm + 76);
	_mm_store_ps(SFRe + 76, _mm_sub_ps(_mm_load_ps(SFIm + 72), mI));
	_mm_store_ps(SFIm + 76, _mm_sub_ps(mR, _mm_load_ps(SFRe + 72)));
	_mm_store_ps(SFRe + 72, _mm_add_ps(_mm_load_ps(SFRe + 72), mR));
	_mm_store_ps(SFIm + 72, _mm_add_ps(_mm_load_ps(SFIm + 72), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 64), _mm256_load_ps(SFRe + 72));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 64), _mm256_load_ps(SFIm + 72));
	_mm256_store_ps(SFRe + 72, _mm256_sub_ps(_mm256_load_ps(SFRe + 64), _mm256_load_ps(SFRe + 72)));
	_mm256_store_ps(SFIm + 72, _mm256_sub_ps(_mm256_load_ps(SFIm + 64), _mm256_load_ps(SFIm + 72)));
	_mm256_store_ps(SFRe + 64, m256R);
	_mm256_store_ps(SFIm + 64, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 80);
	m256I = _mm256_load_ps(SFIm + 80);
	_mm256_store_ps(SFRe + 80, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 80, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 88);
	m256I = _mm256_load_ps(SFIm + 88);
	_mm256_store_ps(SFRe + 88, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 88, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 88);
	m256I = _mm256_load_ps(SFIm + 88);
	_mm256_store_ps(SFRe + 88, _mm256_sub_ps(_mm256_load_ps(SFIm + 80), m256I));
	_mm256_store_ps(SFIm + 88, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 80)));
	_mm256_store_ps(SFRe + 80, _mm256_add_ps(_mm256_load_ps(SFRe + 80), m256R));
	_mm256_store_ps(SFIm + 80, _mm256_add_ps(_mm256_load_ps(SFIm + 80), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 64), _mm256_load_ps(SFRe + 80));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 64), _mm256_load_ps(SFIm + 80));
	_mm256_store_ps(SFRe + 80, _mm256_sub_ps(_mm256_load_ps(SFRe + 64), _mm256_load_ps(SFRe + 80)));
	_mm256_store_ps(SFIm + 80, _mm256_sub_ps(_mm256_load_ps(SFIm + 64), _mm256_load_ps(SFIm + 80)));
	_mm256_store_ps(SFRe + 64, m256R);
	_mm256_store_ps(SFIm + 64, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 72), _mm256_load_ps(SFRe + 88));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 72), _mm256_load_ps(SFIm + 88));
	_mm256_store_ps(SFRe + 88, _mm256_sub_ps(_mm256_load_ps(SFRe + 72), _mm256_load_ps(SFRe + 88)));
	_mm256_store_ps(SFIm + 88, _mm256_sub_ps(_mm256_load_ps(SFIm + 72), _mm256_load_ps(SFIm + 88)));
	_mm256_store_ps(SFRe + 72, m256R);
	_mm256_store_ps(SFIm + 72, m256I);
	Re0 = SFRe[60]; Im0 = SFIm[60];
	Re1 = SFRe[61]; Im1 = SFIm[61];
	Re2 = SFRe[62]; Im2 = SFIm[62];
	Re3 = SFRe[63]; Im3 = SFIm[63];
	SFRe[60] = Re0 + Re1; SFIm[60] = Im0 + Im1;
	SFRe[61] = Re0 - Re1; SFIm[61] = Im0 - Im1;
	SFRe[62] = Re2 + Re3; SFIm[62] = Im2 + Im3;
	SFRe[63] = Im2 - Im3; SFIm[63] = Re3 - Re2;
	RA = SFRe[60] + SFRe[62];
	IA = SFIm[60] + SFIm[62];
	SFRe[62] = SFRe[60] - SFRe[62];
	SFIm[62] = SFIm[60] - SFIm[62];
	SFRe[60] = RA;
	SFIm[60] = IA;
	RA = SFRe[61] + SFRe[63];
	IA = SFIm[61] + SFIm[63];
	SFRe[63] = SFRe[61] - SFRe[63];
	SFIm[63] = SFIm[61] - SFIm[63];
	SFRe[61] = RA;
	SFIm[61] = IA;
	Re0 = SFRe[56]; Im0 = SFIm[56];
	Re1 = SFRe[57]; Im1 = SFIm[57];
	Re2 = SFRe[58]; Im2 = SFIm[58];
	Re3 = SFRe[59]; Im3 = SFIm[59];
	SFRe[56] = Re0 + Re1; SFIm[56] = Im0 + Im1;
	SFRe[57] = Re0 - Re1; SFIm[57] = Im0 - Im1;
	SFRe[58] = Re2 + Re3; SFIm[58] = Im2 + Im3;
	SFRe[59] = Im2 - Im3; SFIm[59] = Re3 - Re2;
	RA = SFRe[56] + SFRe[58];
	IA = SFIm[56] + SFIm[58];
	SFRe[58] = SFRe[56] - SFRe[58];
	SFIm[58] = SFIm[56] - SFIm[58];
	SFRe[56] = RA;
	SFIm[56] = IA;
	RA = SFRe[57] + SFRe[59];
	IA = SFIm[57] + SFIm[59];
	SFRe[59] = SFRe[57] - SFRe[59];
	SFIm[59] = SFIm[57] - SFIm[59];
	SFRe[57] = RA;
	SFIm[57] = IA;
	R = SFRe[54] + SFRe[55];
	I = SFIm[54] + SFIm[55];
	SFRe[55] = SFRe[54] - SFRe[55];
	SFIm[55] = SFIm[54] - SFIm[55];
	SFRe[54] = R;
	SFIm[54] = I;
	R = SFRe[52] + SFRe[53];
	I = SFIm[52] + SFIm[53];
	SFRe[53] = SFRe[52] - SFRe[53];
	SFIm[53] = SFIm[52] - SFIm[53];
	SFRe[52] = R;
	SFIm[52] = I;
	Re0 = SFRe[48]; Im0 = SFIm[48];
	Re1 = SFRe[49]; Im1 = SFIm[49];
	Re2 = SFRe[50]; Im2 = SFIm[50];
	Re3 = SFRe[51]; Im3 = SFIm[51];
	SFRe[48] = Re0 + Re1; SFIm[48] = Im0 + Im1;
	SFRe[49] = Re0 - Re1; SFIm[49] = Im0 - Im1;
	SFRe[50] = Re2 + Re3; SFIm[50] = Im2 + Im3;
	SFRe[51] = Im2 - Im3; SFIm[51] = Re3 - Re2;
	RA = SFRe[48] + SFRe[50];
	IA = SFIm[48] + SFIm[50];
	SFRe[50] = SFRe[48] - SFRe[50];
	SFIm[50] = SFIm[48] - SFIm[50];
	SFRe[48] = RA;
	SFIm[48] = IA;
	RA = SFRe[49] + SFRe[51];
	IA = SFIm[49] + SFIm[51];
	SFRe[51] = SFRe[49] - SFRe[51];
	SFIm[51] = SFIm[49] - SFIm[51];
	SFRe[49] = RA;
	SFIm[49] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[52];
	I = SFIm[52];
	SFRe[52] = R * RF1 - I * IF1;
	SFIm[52] = R * IF1 + I * RF1;
	R = SFRe[54];
	I = SFIm[54];
	SFRe[54] = R * RF2 - I * IF2;
	SFIm[54] = R * IF2 + I * RF2;
	R = SFRe[54];
	I = SFIm[54];
	SFRe[54] = SFIm[52] - I;
	SFIm[54] = R - SFRe[52];
	SFRe[52] += R;
	SFIm[52] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[53];
	I = SFIm[53];
	SFRe[53] = R * RF1 - I * IF1;
	SFIm[53] = R * IF1 + I * RF1;
	R = SFRe[55];
	I = SFIm[55];
	SFRe[55] = R * RF2 - I * IF2;
	SFIm[55] = R * IF2 + I * RF2;
	R = SFRe[55];
	I = SFIm[55];
	SFRe[55] = SFIm[53] - I;
	SFIm[55] = R - SFRe[53];
	SFRe[53] += R;
	SFIm[53] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 52));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 52));
	_mm_store_ps(SFRe + 52, _mm_sub_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 52)));
	_mm_store_ps(SFIm + 52, _mm_sub_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 52)));
	_mm_store_ps(SFRe + 48, mR);
	_mm_store_ps(SFIm + 48, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 56);
	mI = _mm_load_ps(SFIm + 56);
	_mm_store_ps(SFRe + 56, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 56, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 60);
	mI = _mm_load_ps(SFIm + 60);
	_mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 60, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 60);
	mI = _mm_load_ps(SFIm + 60);
	_mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_load_ps(SFIm + 56), mI));
	_mm_store_ps(SFIm + 60, _mm_sub_ps(mR, _mm_load_ps(SFRe + 56)));
	_mm_store_ps(SFRe + 56, _mm_add_ps(_mm_load_ps(SFRe + 56), mR));
	_mm_store_ps(SFIm + 56, _mm_add_ps(_mm_load_ps(SFIm + 56), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 48), _mm256_load_ps(SFRe + 56));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 48), _mm256_load_ps(SFIm + 56));
	_mm256_store_ps(SFRe + 56, _mm256_sub_ps(_mm256_load_ps(SFRe + 48), _mm256_load_ps(SFRe + 56)));
	_mm256_store_ps(SFIm + 56, _mm256_sub_ps(_mm256_load_ps(SFIm + 48), _mm256_load_ps(SFIm + 56)));
	_mm256_store_ps(SFRe + 48, m256R);
	_mm256_store_ps(SFIm + 48, m256I);
	Re0 = SFRe[44]; Im0 = SFIm[44];
	Re1 = SFRe[45]; Im1 = SFIm[45];
	Re2 = SFRe[46]; Im2 = SFIm[46];
	Re3 = SFRe[47]; Im3 = SFIm[47];
	SFRe[44] = Re0 + Re1; SFIm[44] = Im0 + Im1;
	SFRe[45] = Re0 - Re1; SFIm[45] = Im0 - Im1;
	SFRe[46] = Re2 + Re3; SFIm[46] = Im2 + Im3;
	SFRe[47] = Im2 - Im3; SFIm[47] = Re3 - Re2;
	RA = SFRe[44] + SFRe[46];
	IA = SFIm[44] + SFIm[46];
	SFRe[46] = SFRe[44] - SFRe[46];
	SFIm[46] = SFIm[44] - SFIm[46];
	SFRe[44] = RA;
	SFIm[44] = IA;
	RA = SFRe[45] + SFRe[47];
	IA = SFIm[45] + SFIm[47];
	SFRe[47] = SFRe[45] - SFRe[47];
	SFIm[47] = SFIm[45] - SFIm[47];
	SFRe[45] = RA;
	SFIm[45] = IA;
	Re0 = SFRe[40]; Im0 = SFIm[40];
	Re1 = SFRe[41]; Im1 = SFIm[41];
	Re2 = SFRe[42]; Im2 = SFIm[42];
	Re3 = SFRe[43]; Im3 = SFIm[43];
	SFRe[40] = Re0 + Re1; SFIm[40] = Im0 + Im1;
	SFRe[41] = Re0 - Re1; SFIm[41] = Im0 - Im1;
	SFRe[42] = Re2 + Re3; SFIm[42] = Im2 + Im3;
	SFRe[43] = Im2 - Im3; SFIm[43] = Re3 - Re2;
	RA = SFRe[40] + SFRe[42];
	IA = SFIm[40] + SFIm[42];
	SFRe[42] = SFRe[40] - SFRe[42];
	SFIm[42] = SFIm[40] - SFIm[42];
	SFRe[40] = RA;
	SFIm[40] = IA;
	RA = SFRe[41] + SFRe[43];
	IA = SFIm[41] + SFIm[43];
	SFRe[43] = SFRe[41] - SFRe[43];
	SFIm[43] = SFIm[41] - SFIm[43];
	SFRe[41] = RA;
	SFIm[41] = IA;
	R = SFRe[38] + SFRe[39];
	I = SFIm[38] + SFIm[39];
	SFRe[39] = SFRe[38] - SFRe[39];
	SFIm[39] = SFIm[38] - SFIm[39];
	SFRe[38] = R;
	SFIm[38] = I;
	R = SFRe[36] + SFRe[37];
	I = SFIm[36] + SFIm[37];
	SFRe[37] = SFRe[36] - SFRe[37];
	SFIm[37] = SFIm[36] - SFIm[37];
	SFRe[36] = R;
	SFIm[36] = I;
	Re0 = SFRe[32]; Im0 = SFIm[32];
	Re1 = SFRe[33]; Im1 = SFIm[33];
	Re2 = SFRe[34]; Im2 = SFIm[34];
	Re3 = SFRe[35]; Im3 = SFIm[35];
	SFRe[32] = Re0 + Re1; SFIm[32] = Im0 + Im1;
	SFRe[33] = Re0 - Re1; SFIm[33] = Im0 - Im1;
	SFRe[34] = Re2 + Re3; SFIm[34] = Im2 + Im3;
	SFRe[35] = Im2 - Im3; SFIm[35] = Re3 - Re2;
	RA = SFRe[32] + SFRe[34];
	IA = SFIm[32] + SFIm[34];
	SFRe[34] = SFRe[32] - SFRe[34];
	SFIm[34] = SFIm[32] - SFIm[34];
	SFRe[32] = RA;
	SFIm[32] = IA;
	RA = SFRe[33] + SFRe[35];
	IA = SFIm[33] + SFIm[35];
	SFRe[35] = SFRe[33] - SFRe[35];
	SFIm[35] = SFIm[33] - SFIm[35];
	SFRe[33] = RA;
	SFIm[33] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[36];
	I = SFIm[36];
	SFRe[36] = R * RF1 - I * IF1;
	SFIm[36] = R * IF1 + I * RF1;
	R = SFRe[38];
	I = SFIm[38];
	SFRe[38] = R * RF2 - I * IF2;
	SFIm[38] = R * IF2 + I * RF2;
	R = SFRe[38];
	I = SFIm[38];
	SFRe[38] = SFIm[36] - I;
	SFIm[38] = R - SFRe[36];
	SFRe[36] += R;
	SFIm[36] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[37];
	I = SFIm[37];
	SFRe[37] = R * RF1 - I * IF1;
	SFIm[37] = R * IF1 + I * RF1;
	R = SFRe[39];
	I = SFIm[39];
	SFRe[39] = R * RF2 - I * IF2;
	SFIm[39] = R * IF2 + I * RF2;
	R = SFRe[39];
	I = SFIm[39];
	SFRe[39] = SFIm[37] - I;
	SFIm[39] = R - SFRe[37];
	SFRe[37] += R;
	SFIm[37] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 36));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 36));
	_mm_store_ps(SFRe + 36, _mm_sub_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 36)));
	_mm_store_ps(SFIm + 36, _mm_sub_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 36)));
	_mm_store_ps(SFRe + 32, mR);
	_mm_store_ps(SFIm + 32, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 40);
	mI = _mm_load_ps(SFIm + 40);
	_mm_store_ps(SFRe + 40, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 40, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 44);
	mI = _mm_load_ps(SFIm + 44);
	_mm_store_ps(SFRe + 44, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 44, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 44);
	mI = _mm_load_ps(SFIm + 44);
	_mm_store_ps(SFRe + 44, _mm_sub_ps(_mm_load_ps(SFIm + 40), mI));
	_mm_store_ps(SFIm + 44, _mm_sub_ps(mR, _mm_load_ps(SFRe + 40)));
	_mm_store_ps(SFRe + 40, _mm_add_ps(_mm_load_ps(SFRe + 40), mR));
	_mm_store_ps(SFIm + 40, _mm_add_ps(_mm_load_ps(SFIm + 40), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 32), _mm256_load_ps(SFRe + 40));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 32), _mm256_load_ps(SFIm + 40));
	_mm256_store_ps(SFRe + 40, _mm256_sub_ps(_mm256_load_ps(SFRe + 32), _mm256_load_ps(SFRe + 40)));
	_mm256_store_ps(SFIm + 40, _mm256_sub_ps(_mm256_load_ps(SFIm + 32), _mm256_load_ps(SFIm + 40)));
	_mm256_store_ps(SFRe + 32, m256R);
	_mm256_store_ps(SFIm + 32, m256I);
	R = SFRe[30] + SFRe[31];
	I = SFIm[30] + SFIm[31];
	SFRe[31] = SFRe[30] - SFRe[31];
	SFIm[31] = SFIm[30] - SFIm[31];
	SFRe[30] = R;
	SFIm[30] = I;
	R = SFRe[28] + SFRe[29];
	I = SFIm[28] + SFIm[29];
	SFRe[29] = SFRe[28] - SFRe[29];
	SFIm[29] = SFIm[28] - SFIm[29];
	SFRe[28] = R;
	SFIm[28] = I;
	Re0 = SFRe[24]; Im0 = SFIm[24];
	Re1 = SFRe[25]; Im1 = SFIm[25];
	Re2 = SFRe[26]; Im2 = SFIm[26];
	Re3 = SFRe[27]; Im3 = SFIm[27];
	SFRe[24] = Re0 + Re1; SFIm[24] = Im0 + Im1;
	SFRe[25] = Re0 - Re1; SFIm[25] = Im0 - Im1;
	SFRe[26] = Re2 + Re3; SFIm[26] = Im2 + Im3;
	SFRe[27] = Im2 - Im3; SFIm[27] = Re3 - Re2;
	RA = SFRe[24] + SFRe[26];
	IA = SFIm[24] + SFIm[26];
	SFRe[26] = SFRe[24] - SFRe[26];
	SFIm[26] = SFIm[24] - SFIm[26];
	SFRe[24] = RA;
	SFIm[24] = IA;
	RA = SFRe[25] + SFRe[27];
	IA = SFIm[25] + SFIm[27];
	SFRe[27] = SFRe[25] - SFRe[27];
	SFIm[27] = SFIm[25] - SFIm[27];
	SFRe[25] = RA;
	SFIm[25] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[28];
	I = SFIm[28];
	SFRe[28] = R * RF1 - I * IF1;
	SFIm[28] = R * IF1 + I * RF1;
	R = SFRe[30];
	I = SFIm[30];
	SFRe[30] = R * RF2 - I * IF2;
	SFIm[30] = R * IF2 + I * RF2;
	R = SFRe[30];
	I = SFIm[30];
	SFRe[30] = SFIm[28] - I;
	SFIm[30] = R - SFRe[28];
	SFRe[28] += R;
	SFIm[28] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[29];
	I = SFIm[29];
	SFRe[29] = R * RF1 - I * IF1;
	SFIm[29] = R * IF1 + I * RF1;
	R = SFRe[31];
	I = SFIm[31];
	SFRe[31] = R * RF2 - I * IF2;
	SFIm[31] = R * IF2 + I * RF2;
	R = SFRe[31];
	I = SFIm[31];
	SFRe[31] = SFIm[29] - I;
	SFIm[31] = R - SFRe[29];
	SFRe[29] += R;
	SFIm[29] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 28));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 28));
	_mm_store_ps(SFRe + 28, _mm_sub_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 28)));
	_mm_store_ps(SFIm + 28, _mm_sub_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 28)));
	_mm_store_ps(SFRe + 24, mR);
	_mm_store_ps(SFIm + 24, mI);
	R = SFRe[22] + SFRe[23];
	I = SFIm[22] + SFIm[23];
	SFRe[23] = SFRe[22] - SFRe[23];
	SFIm[23] = SFIm[22] - SFIm[23];
	SFRe[22] = R;
	SFIm[22] = I;
	R = SFRe[20] + SFRe[21];
	I = SFIm[20] + SFIm[21];
	SFRe[21] = SFRe[20] - SFRe[21];
	SFIm[21] = SFIm[20] - SFIm[21];
	SFRe[20] = R;
	SFIm[20] = I;
	Re0 = SFRe[16]; Im0 = SFIm[16];
	Re1 = SFRe[17]; Im1 = SFIm[17];
	Re2 = SFRe[18]; Im2 = SFIm[18];
	Re3 = SFRe[19]; Im3 = SFIm[19];
	SFRe[16] = Re0 + Re1; SFIm[16] = Im0 + Im1;
	SFRe[17] = Re0 - Re1; SFIm[17] = Im0 - Im1;
	SFRe[18] = Re2 + Re3; SFIm[18] = Im2 + Im3;
	SFRe[19] = Im2 - Im3; SFIm[19] = Re3 - Re2;
	RA = SFRe[16] + SFRe[18];
	IA = SFIm[16] + SFIm[18];
	SFRe[18] = SFRe[16] - SFRe[18];
	SFIm[18] = SFIm[16] - SFIm[18];
	SFRe[16] = RA;
	SFIm[16] = IA;
	RA = SFRe[17] + SFRe[19];
	IA = SFIm[17] + SFIm[19];
	SFRe[19] = SFRe[17] - SFRe[19];
	SFIm[19] = SFIm[17] - SFIm[19];
	SFRe[17] = RA;
	SFIm[17] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[20];
	I = SFIm[20];
	SFRe[20] = R * RF1 - I * IF1;
	SFIm[20] = R * IF1 + I * RF1;
	R = SFRe[22];
	I = SFIm[22];
	SFRe[22] = R * RF2 - I * IF2;
	SFIm[22] = R * IF2 + I * RF2;
	R = SFRe[22];
	I = SFIm[22];
	SFRe[22] = SFIm[20] - I;
	SFIm[22] = R - SFRe[20];
	SFRe[20] += R;
	SFIm[20] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[21];
	I = SFIm[21];
	SFRe[21] = R * RF1 - I * IF1;
	SFIm[21] = R * IF1 + I * RF1;
	R = SFRe[23];
	I = SFIm[23];
	SFRe[23] = R * RF2 - I * IF2;
	SFIm[23] = R * IF2 + I * RF2;
	R = SFRe[23];
	I = SFIm[23];
	SFRe[23] = SFIm[21] - I;
	SFIm[23] = R - SFRe[21];
	SFRe[21] += R;
	SFIm[21] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 20));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 20));
	_mm_store_ps(SFRe + 20, _mm_sub_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 20)));
	_mm_store_ps(SFIm + 20, _mm_sub_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 20)));
	_mm_store_ps(SFRe + 16, mR);
	_mm_store_ps(SFIm + 16, mI);
	Re0 = SFRe[12]; Im0 = SFIm[12];
	Re1 = SFRe[13]; Im1 = SFIm[13];
	Re2 = SFRe[14]; Im2 = SFIm[14];
	Re3 = SFRe[15]; Im3 = SFIm[15];
	SFRe[12] = Re0 + Re1; SFIm[12] = Im0 + Im1;
	SFRe[13] = Re0 - Re1; SFIm[13] = Im0 - Im1;
	SFRe[14] = Re2 + Re3; SFIm[14] = Im2 + Im3;
	SFRe[15] = Im2 - Im3; SFIm[15] = Re3 - Re2;
	RA = SFRe[12] + SFRe[14];
	IA = SFIm[12] + SFIm[14];
	SFRe[14] = SFRe[12] - SFRe[14];
	SFIm[14] = SFIm[12] - SFIm[14];
	SFRe[12] = RA;
	SFIm[12] = IA;
	RA = SFRe[13] + SFRe[15];
	IA = SFIm[13] + SFIm[15];
	SFRe[15] = SFRe[13] - SFRe[15];
	SFIm[15] = SFIm[13] - SFIm[15];
	SFRe[13] = RA;
	SFIm[13] = IA;
	Re0 = SFRe[8]; Im0 = SFIm[8];
	Re1 = SFRe[9]; Im1 = SFIm[9];
	Re2 = SFRe[10]; Im2 = SFIm[10];
	Re3 = SFRe[11]; Im3 = SFIm[11];
	SFRe[8] = Re0 + Re1; SFIm[8] = Im0 + Im1;
	SFRe[9] = Re0 - Re1; SFIm[9] = Im0 - Im1;
	SFRe[10] = Re2 + Re3; SFIm[10] = Im2 + Im3;
	SFRe[11] = Im2 - Im3; SFIm[11] = Re3 - Re2;
	RA = SFRe[8] + SFRe[10];
	IA = SFIm[8] + SFIm[10];
	SFRe[10] = SFRe[8] - SFRe[10];
	SFIm[10] = SFIm[8] - SFIm[10];
	SFRe[8] = RA;
	SFIm[8] = IA;
	RA = SFRe[9] + SFRe[11];
	IA = SFIm[9] + SFIm[11];
	SFRe[11] = SFRe[9] - SFRe[11];
	SFIm[11] = SFIm[9] - SFIm[11];
	SFRe[9] = RA;
	SFIm[9] = IA;
	R = SFRe[6] + SFRe[7];
	I = SFIm[6] + SFIm[7];
	SFRe[7] = SFRe[6] - SFRe[7];
	SFIm[7] = SFIm[6] - SFIm[7];
	SFRe[6] = R;
	SFIm[6] = I;
	R = SFRe[4] + SFRe[5];
	I = SFIm[4] + SFIm[5];
	SFRe[5] = SFRe[4] - SFRe[5];
	SFIm[5] = SFIm[4] - SFIm[5];
	SFRe[4] = R;
	SFIm[4] = I;
	Re0 = SFRe[0]; Im0 = SFIm[0];
	Re1 = SFRe[1]; Im1 = SFIm[1];
	Re2 = SFRe[2]; Im2 = SFIm[2];
	Re3 = SFRe[3]; Im3 = SFIm[3];
	SFRe[0] = Re0 + Re1; SFIm[0] = Im0 + Im1;
	SFRe[1] = Re0 - Re1; SFIm[1] = Im0 - Im1;
	SFRe[2] = Re2 + Re3; SFIm[2] = Im2 + Im3;
	SFRe[3] = Im2 - Im3; SFIm[3] = Re3 - Re2;
	RA = SFRe[0] + SFRe[2];
	IA = SFIm[0] + SFIm[2];
	SFRe[2] = SFRe[0] - SFRe[2];
	SFIm[2] = SFIm[0] - SFIm[2];
	SFRe[0] = RA;
	SFIm[0] = IA;
	RA = SFRe[1] + SFRe[3];
	IA = SFIm[1] + SFIm[3];
	SFRe[3] = SFRe[1] - SFRe[3];
	SFIm[3] = SFIm[1] - SFIm[3];
	SFRe[1] = RA;
	SFIm[1] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[4];
	I = SFIm[4];
	SFRe[4] = R * RF1 - I * IF1;
	SFIm[4] = R * IF1 + I * RF1;
	R = SFRe[6];
	I = SFIm[6];
	SFRe[6] = R * RF2 - I * IF2;
	SFIm[6] = R * IF2 + I * RF2;
	R = SFRe[6];
	I = SFIm[6];
	SFRe[6] = SFIm[4] - I;
	SFIm[6] = R - SFRe[4];
	SFRe[4] += R;
	SFIm[4] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[5];
	I = SFIm[5];
	SFRe[5] = R * RF1 - I * IF1;
	SFIm[5] = R * IF1 + I * RF1;
	R = SFRe[7];
	I = SFIm[7];
	SFRe[7] = R * RF2 - I * IF2;
	SFIm[7] = R * IF2 + I * RF2;
	R = SFRe[7];
	I = SFIm[7];
	SFRe[7] = SFIm[5] - I;
	SFIm[7] = R - SFRe[5];
	SFRe[5] += R;
	SFIm[5] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 4));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 4));
	_mm_store_ps(SFRe + 4, _mm_sub_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 4)));
	_mm_store_ps(SFIm + 4, _mm_sub_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 4)));
	_mm_store_ps(SFRe + 0, mR);
	_mm_store_ps(SFIm + 0, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 8);
	mI = _mm_load_ps(SFIm + 8);
	_mm_store_ps(SFRe + 8, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 8, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 12);
	mI = _mm_load_ps(SFIm + 12);
	_mm_store_ps(SFRe + 12, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 12, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 12);
	mI = _mm_load_ps(SFIm + 12);
	_mm_store_ps(SFRe + 12, _mm_sub_ps(_mm_load_ps(SFIm + 8), mI));
	_mm_store_ps(SFIm + 12, _mm_sub_ps(mR, _mm_load_ps(SFRe + 8)));
	_mm_store_ps(SFRe + 8, _mm_add_ps(_mm_load_ps(SFRe + 8), mR));
	_mm_store_ps(SFIm + 8, _mm_add_ps(_mm_load_ps(SFIm + 8), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 8));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 8));
	_mm256_store_ps(SFRe + 8, _mm256_sub_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 8)));
	_mm256_store_ps(SFIm + 8, _mm256_sub_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 8)));
	_mm256_store_ps(SFRe + 0, m256R);
	_mm256_store_ps(SFIm + 0, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 16);
	m256I = _mm256_load_ps(SFIm + 16);
	_mm256_store_ps(SFRe + 16, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 16, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 24);
	m256I = _mm256_load_ps(SFIm + 24);
	_mm256_store_ps(SFRe + 24, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 24, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 24);
	m256I = _mm256_load_ps(SFIm + 24);
	_mm256_store_ps(SFRe + 24, _mm256_sub_ps(_mm256_load_ps(SFIm + 16), m256I));
	_mm256_store_ps(SFIm + 24, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 16)));
	_mm256_store_ps(SFRe + 16, _mm256_add_ps(_mm256_load_ps(SFRe + 16), m256R));
	_mm256_store_ps(SFIm + 16, _mm256_add_ps(_mm256_load_ps(SFIm + 16), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 16));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 16));
	_mm256_store_ps(SFRe + 16, _mm256_sub_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 16)));
	_mm256_store_ps(SFIm + 16, _mm256_sub_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 16)));
	_mm256_store_ps(SFRe + 0, m256R);
	_mm256_store_ps(SFIm + 0, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 24));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 24));
	_mm256_store_ps(SFRe + 24, _mm256_sub_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 24)));
	_mm256_store_ps(SFIm + 24, _mm256_sub_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 24)));
	_mm256_store_ps(SFRe + 8, m256R);
	_mm256_store_ps(SFIm + 8, m256I);
	m256RF1 = _mm256_set_ps(0.773019, 0.831492, 0.881929, 0.923896, 0.956946, 0.980794, 0.995187, 1.000000);
	m256IF1 = _mm256_set_ps(-0.634382, -0.555536, -0.471382, -0.382643, -0.290265, -0.195044, -0.097994, -0.000000);
	m256RF2 = _mm256_set_ps(-0.471404, -0.195069, 0.098019, 0.382712, 0.634402, 0.831492, 0.956946, 1.000000);
	m256IF2 = _mm256_set_ps(-0.881918, -0.980790, -0.995185, -0.923868, -0.773004, -0.555536, -0.290265, -0.000000);
	m256R = _mm256_load_ps(SFRe + 32);
	m256I = _mm256_load_ps(SFIm + 32);
	_mm256_store_ps(SFRe + 32, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 32, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 48);
	m256I = _mm256_load_ps(SFIm + 48);
	_mm256_store_ps(SFRe + 48, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 48, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 48);
	m256I = _mm256_load_ps(SFIm + 48);
	_mm256_store_ps(SFRe + 48, _mm256_sub_ps(_mm256_load_ps(SFIm + 32), m256I));
	_mm256_store_ps(SFIm + 48, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 32)));
	_mm256_store_ps(SFRe + 32, _mm256_add_ps(_mm256_load_ps(SFRe + 32), m256R));
	_mm256_store_ps(SFIm + 32, _mm256_add_ps(_mm256_load_ps(SFIm + 32), m256I));
	m256RF1 = _mm256_set_ps(0.098019, 0.195118, 0.290289, 0.382712, 0.471404, 0.555599, 0.634402, 0.707133);
	m256IF1 = _mm256_set_ps(-0.995185, -0.980780, -0.956939, -0.923868, -0.881918, -0.831451, -0.773004, -0.707080);
	m256RF2 = _mm256_set_ps(-0.290289, -0.555599, -0.773019, -0.923896, -0.995187, -0.980785, -0.881929, -0.707098);
	m256IF2 = _mm256_set_ps(0.956939, 0.831451, 0.634382, 0.382643, 0.097994, -0.195093, -0.471382, -0.707116);
	m256R = _mm256_load_ps(SFRe + 40);
	m256I = _mm256_load_ps(SFIm + 40);
	_mm256_store_ps(SFRe + 40, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 40, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 56);
	m256I = _mm256_load_ps(SFIm + 56);
	_mm256_store_ps(SFRe + 56, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 56, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 56);
	m256I = _mm256_load_ps(SFIm + 56);
	_mm256_store_ps(SFRe + 56, _mm256_sub_ps(_mm256_load_ps(SFIm + 40), m256I));
	_mm256_store_ps(SFIm + 56, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 40)));
	_mm256_store_ps(SFRe + 40, _mm256_add_ps(_mm256_load_ps(SFRe + 40), m256R));
	_mm256_store_ps(SFIm + 40, _mm256_add_ps(_mm256_load_ps(SFIm + 40), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 32));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 32));
	_mm256_store_ps(SFRe + 32, _mm256_sub_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 32)));
	_mm256_store_ps(SFIm + 32, _mm256_sub_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 32)));
	_mm256_store_ps(SFRe + 0, m256R);
	_mm256_store_ps(SFIm + 0, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 40));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 40));
	_mm256_store_ps(SFRe + 40, _mm256_sub_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 40)));
	_mm256_store_ps(SFIm + 40, _mm256_sub_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 40)));
	_mm256_store_ps(SFRe + 8, m256R);
	_mm256_store_ps(SFIm + 8, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 16), _mm256_load_ps(SFRe + 48));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 16), _mm256_load_ps(SFIm + 48));
	_mm256_store_ps(SFRe + 48, _mm256_sub_ps(_mm256_load_ps(SFRe + 16), _mm256_load_ps(SFRe + 48)));
	_mm256_store_ps(SFIm + 48, _mm256_sub_ps(_mm256_load_ps(SFIm + 16), _mm256_load_ps(SFIm + 48)));
	_mm256_store_ps(SFRe + 16, m256R);
	_mm256_store_ps(SFIm + 16, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 24), _mm256_load_ps(SFRe + 56));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 24), _mm256_load_ps(SFIm + 56));
	_mm256_store_ps(SFRe + 56, _mm256_sub_ps(_mm256_load_ps(SFRe + 24), _mm256_load_ps(SFRe + 56)));
	_mm256_store_ps(SFIm + 56, _mm256_sub_ps(_mm256_load_ps(SFIm + 24), _mm256_load_ps(SFIm + 56)));
	_mm256_store_ps(SFRe + 24, m256R);
	_mm256_store_ps(SFIm + 24, m256I);
	m256RF1 = _mm256_set_ps(0.941546, 0.956946, 0.970039, 0.980794, 0.989178, 0.995187, 0.998797, 1.000000);
	m256IF1 = _mm256_set_ps(-0.336883, -0.290265, -0.242948, -0.195044, -0.146720, -0.097994, -0.049031, -0.000000);
	m256RF2 = _mm256_set_ps(0.514121, 0.634402, 0.740952, 0.831492, 0.904002, 0.956946, 0.989178, 1.000000);
	m256IF2 = _mm256_set_ps(-0.857718, -0.773004, -0.671558, -0.555536, -0.427528, -0.290265, -0.146720, -0.000000);
	m256R = _mm256_load_ps(SFRe + 64);
	m256I = _mm256_load_ps(SFIm + 64);
	_mm256_store_ps(SFRe + 64, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 64, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 96);
	m256I = _mm256_load_ps(SFIm + 96);
	_mm256_store_ps(SFRe + 96, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 96, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 96);
	m256I = _mm256_load_ps(SFIm + 96);
	_mm256_store_ps(SFRe + 96, _mm256_sub_ps(_mm256_load_ps(SFIm + 64), m256I));
	_mm256_store_ps(SFIm + 96, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 64)));
	_mm256_store_ps(SFRe + 64, _mm256_add_ps(_mm256_load_ps(SFRe + 64), m256R));
	_mm256_store_ps(SFIm + 64, _mm256_add_ps(_mm256_load_ps(SFIm + 64), m256I));
	m256RF1 = _mm256_set_ps(0.740952, 0.773019, 0.803224, 0.831492, 0.857731, 0.881929, 0.904002, 0.923896);
	m256IF1 = _mm256_set_ps(-0.671558, -0.634382, -0.595677, -0.555536, -0.514099, -0.471382, -0.427528, -0.382643);
	m256RF2 = _mm256_set_ps(-0.595697, -0.471404, -0.336907, -0.195069, -0.049056, 0.098019, 0.242972, 0.382712);
	m256IF2 = _mm256_set_ps(-0.803209, -0.881918, -0.941538, -0.980790, -0.998796, -0.995185, -0.970033, -0.923868);
	m256R = _mm256_load_ps(SFRe + 72);
	m256I = _mm256_load_ps(SFIm + 72);
	_mm256_store_ps(SFRe + 72, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 72, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 104);
	m256I = _mm256_load_ps(SFIm + 104);
	_mm256_store_ps(SFRe + 104, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 104, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 104);
	m256I = _mm256_load_ps(SFIm + 104);
	_mm256_store_ps(SFRe + 104, _mm256_sub_ps(_mm256_load_ps(SFIm + 72), m256I));
	_mm256_store_ps(SFIm + 104, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 72)));
	_mm256_store_ps(SFRe + 72, _mm256_add_ps(_mm256_load_ps(SFRe + 72), m256R));
	_mm256_store_ps(SFIm + 72, _mm256_add_ps(_mm256_load_ps(SFIm + 72), m256I));
	m256RF1 = _mm256_set_ps(0.427550, 0.471404, 0.514121, 0.555599, 0.595697, 0.634402, 0.671577, 0.707133);
	m256IF1 = _mm256_set_ps(-0.903992, -0.881918, -0.857718, -0.831451, -0.803209, -0.773004, -0.740935, -0.707080);
	m256RF2 = _mm256_set_ps(-0.970039, -0.995187, -0.998797, -0.980785, -0.941546, -0.881929, -0.803224, -0.707098);
	m256IF2 = _mm256_set_ps(0.242948, 0.097994, -0.049031, -0.195093, -0.336883, -0.471382, -0.595677, -0.707116);
	m256R = _mm256_load_ps(SFRe + 80);
	m256I = _mm256_load_ps(SFIm + 80);
	_mm256_store_ps(SFRe + 80, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 80, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 112);
	m256I = _mm256_load_ps(SFIm + 112);
	_mm256_store_ps(SFRe + 112, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 112, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 112);
	m256I = _mm256_load_ps(SFIm + 112);
	_mm256_store_ps(SFRe + 112, _mm256_sub_ps(_mm256_load_ps(SFIm + 80), m256I));
	_mm256_store_ps(SFIm + 112, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 80)));
	_mm256_store_ps(SFRe + 80, _mm256_add_ps(_mm256_load_ps(SFRe + 80), m256R));
	_mm256_store_ps(SFIm + 80, _mm256_add_ps(_mm256_load_ps(SFIm + 80), m256I));
	m256RF1 = _mm256_set_ps(0.049056, 0.098019, 0.146745, 0.195118, 0.242972, 0.290289, 0.336907, 0.382712);
	m256IF1 = _mm256_set_ps(-0.998796, -0.995185, -0.989174, -0.980780, -0.970033, -0.956939, -0.941538, -0.923868);
	m256RF2 = _mm256_set_ps(-0.146745, -0.290289, -0.427550, -0.555599, -0.671577, -0.773019, -0.857731, -0.923896);
	m256IF2 = _mm256_set_ps(0.989174, 0.956939, 0.903992, 0.831451, 0.740935, 0.634382, 0.514099, 0.382643);
	m256R = _mm256_load_ps(SFRe + 88);
	m256I = _mm256_load_ps(SFIm + 88);
	_mm256_store_ps(SFRe + 88, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 88, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 120);
	m256I = _mm256_load_ps(SFIm + 120);
	_mm256_store_ps(SFRe + 120, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 120, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 120);
	m256I = _mm256_load_ps(SFIm + 120);
	_mm256_store_ps(SFRe + 120, _mm256_sub_ps(_mm256_load_ps(SFIm + 88), m256I));
	_mm256_store_ps(SFIm + 120, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 88)));
	_mm256_store_ps(SFRe + 88, _mm256_add_ps(_mm256_load_ps(SFRe + 88), m256R));
	_mm256_store_ps(SFIm + 88, _mm256_add_ps(_mm256_load_ps(SFIm + 88), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 64));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 64));
	_mm256_store_ps(SFRe + 64, _mm256_sub_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 64)));
	_mm256_store_ps(SFIm + 64, _mm256_sub_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 64)));
	_mm256_store_ps(SFRe + 0, m256R);
	_mm256_store_ps(SFIm + 0, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 72));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 72));
	_mm256_store_ps(SFRe + 72, _mm256_sub_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 72)));
	_mm256_store_ps(SFIm + 72, _mm256_sub_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 72)));
	_mm256_store_ps(SFRe + 8, m256R);
	_mm256_store_ps(SFIm + 8, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 16), _mm256_load_ps(SFRe + 80));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 16), _mm256_load_ps(SFIm + 80));
	_mm256_store_ps(SFRe + 80, _mm256_sub_ps(_mm256_load_ps(SFRe + 16), _mm256_load_ps(SFRe + 80)));
	_mm256_store_ps(SFIm + 80, _mm256_sub_ps(_mm256_load_ps(SFIm + 16), _mm256_load_ps(SFIm + 80)));
	_mm256_store_ps(SFRe + 16, m256R);
	_mm256_store_ps(SFIm + 16, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 24), _mm256_load_ps(SFRe + 88));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 24), _mm256_load_ps(SFIm + 88));
	_mm256_store_ps(SFRe + 88, _mm256_sub_ps(_mm256_load_ps(SFRe + 24), _mm256_load_ps(SFRe + 88)));
	_mm256_store_ps(SFIm + 88, _mm256_sub_ps(_mm256_load_ps(SFIm + 24), _mm256_load_ps(SFIm + 88)));
	_mm256_store_ps(SFRe + 24, m256R);
	_mm256_store_ps(SFIm + 24, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 32), _mm256_load_ps(SFRe + 96));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 32), _mm256_load_ps(SFIm + 96));
	_mm256_store_ps(SFRe + 96, _mm256_sub_ps(_mm256_load_ps(SFRe + 32), _mm256_load_ps(SFRe + 96)));
	_mm256_store_ps(SFIm + 96, _mm256_sub_ps(_mm256_load_ps(SFIm + 32), _mm256_load_ps(SFIm + 96)));
	_mm256_store_ps(SFRe + 32, m256R);
	_mm256_store_ps(SFIm + 32, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 40), _mm256_load_ps(SFRe + 104));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 40), _mm256_load_ps(SFIm + 104));
	_mm256_store_ps(SFRe + 104, _mm256_sub_ps(_mm256_load_ps(SFRe + 40), _mm256_load_ps(SFRe + 104)));
	_mm256_store_ps(SFIm + 104, _mm256_sub_ps(_mm256_load_ps(SFIm + 40), _mm256_load_ps(SFIm + 104)));
	_mm256_store_ps(SFRe + 40, m256R);
	_mm256_store_ps(SFIm + 40, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 48), _mm256_load_ps(SFRe + 112));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 48), _mm256_load_ps(SFIm + 112));
	_mm256_store_ps(SFRe + 112, _mm256_sub_ps(_mm256_load_ps(SFRe + 48), _mm256_load_ps(SFRe + 112)));
	_mm256_store_ps(SFIm + 112, _mm256_sub_ps(_mm256_load_ps(SFIm + 48), _mm256_load_ps(SFIm + 112)));
	_mm256_store_ps(SFRe + 48, m256R);
	_mm256_store_ps(SFIm + 48, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 56), _mm256_load_ps(SFRe + 120));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 56), _mm256_load_ps(SFIm + 120));
	_mm256_store_ps(SFRe + 120, _mm256_sub_ps(_mm256_load_ps(SFRe + 56), _mm256_load_ps(SFRe + 120)));
	_mm256_store_ps(SFIm + 120, _mm256_sub_ps(_mm256_load_ps(SFIm + 56), _mm256_load_ps(SFIm + 120)));
	_mm256_store_ps(SFRe + 56, m256R);
	_mm256_store_ps(SFIm + 56, m256I);
	m256RF1 = _mm256_set_ps(0.985278, 0.989178, 0.992482, 0.995187, 0.997293, 0.998797, 0.999700, 1.000000);
	m256IF1 = _mm256_set_ps(-0.170958, -0.146720, -0.122394, -0.097994, -0.073535, -0.049031, -0.024498, -0.000000);
	m256RF2 = _mm256_set_ps(0.870092, 0.904002, 0.932993, 0.956946, 0.975711, 0.989178, 0.997293, 1.000000);
	m256IF2 = _mm256_set_ps(-0.492889, -0.427528, -0.359895, -0.290265, -0.219062, -0.146720, -0.073535, -0.000000);
	m256R = _mm256_load_ps(SFRe + 128);
	m256I = _mm256_load_ps(SFIm + 128);
	_mm256_store_ps(SFRe + 128, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 128, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 192);
	m256I = _mm256_load_ps(SFIm + 192);
	_mm256_store_ps(SFRe + 192, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 192, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 192);
	m256I = _mm256_load_ps(SFIm + 192);
	_mm256_store_ps(SFRe + 192, _mm256_sub_ps(_mm256_load_ps(SFIm + 128), m256I));
	_mm256_store_ps(SFIm + 192, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 128)));
	_mm256_store_ps(SFRe + 128, _mm256_add_ps(_mm256_load_ps(SFRe + 128), m256R));
	_mm256_store_ps(SFIm + 128, _mm256_add_ps(_mm256_load_ps(SFIm + 128), m256I));
	m256RF1 = _mm256_set_ps(0.932993, 0.941546, 0.949532, 0.956946, 0.963783, 0.970039, 0.975711, 0.980794);
	m256IF1 = _mm256_set_ps(-0.359895, -0.336883, -0.313669, -0.290265, -0.266687, -0.242948, -0.219062, -0.195044);
	m256RF2 = _mm256_set_ps(0.449612, 0.514121, 0.575801, 0.634402, 0.689563, 0.740952, 0.788359, 0.831492);
	m256IF2 = _mm256_set_ps(-0.893224, -0.857718, -0.817590, -0.773004, -0.724226, -0.671558, -0.615215, -0.555536);
	m256R = _mm256_load_ps(SFRe + 136);
	m256I = _mm256_load_ps(SFIm + 136);
	_mm256_store_ps(SFRe + 136, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 136, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 200);
	m256I = _mm256_load_ps(SFIm + 200);
	_mm256_store_ps(SFRe + 200, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 200, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 200);
	m256I = _mm256_load_ps(SFIm + 200);
	_mm256_store_ps(SFRe + 200, _mm256_sub_ps(_mm256_load_ps(SFIm + 136), m256I));
	_mm256_store_ps(SFIm + 200, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 136)));
	_mm256_store_ps(SFRe + 136, _mm256_add_ps(_mm256_load_ps(SFRe + 136), m256R));
	_mm256_store_ps(SFIm + 136, _mm256_add_ps(_mm256_load_ps(SFIm + 136), m256I));
	m256RF1 = _mm256_set_ps(0.844852, 0.857731, 0.870092, 0.881929, 0.893235, 0.904002, 0.914225, 0.923896);
	m256IF1 = _mm256_set_ps(-0.535000, -0.514099, -0.492889, -0.471382, -0.449590, -0.427528, -0.405207, -0.382643);
	m256RF2 = _mm256_set_ps(-0.122419, -0.049056, 0.024523, 0.098019, 0.170983, 0.242972, 0.313692, 0.382712);
	m256IF2 = _mm256_set_ps(-0.992479, -0.998796, -0.999699, -0.995185, -0.985274, -0.970033, -0.949525, -0.923868);
	m256R = _mm256_load_ps(SFRe + 144);
	m256I = _mm256_load_ps(SFIm + 144);
	_mm256_store_ps(SFRe + 144, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 144, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 208);
	m256I = _mm256_load_ps(SFIm + 208);
	_mm256_store_ps(SFRe + 208, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 208, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 208);
	m256I = _mm256_load_ps(SFIm + 208);
	_mm256_store_ps(SFRe + 208, _mm256_sub_ps(_mm256_load_ps(SFIm + 144), m256I));
	_mm256_store_ps(SFIm + 208, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 144)));
	_mm256_store_ps(SFRe + 144, _mm256_add_ps(_mm256_load_ps(SFRe + 144), m256R));
	_mm256_store_ps(SFIm + 144, _mm256_add_ps(_mm256_load_ps(SFIm + 144), m256I));
	m256RF1 = _mm256_set_ps(0.724243, 0.740952, 0.757214, 0.773019, 0.788359, 0.803224, 0.817604, 0.831492);
	m256IF1 = _mm256_set_ps(-0.689545, -0.671558, -0.653167, -0.634382, -0.615215, -0.595677, -0.575780, -0.555536);
	m256RF2 = _mm256_set_ps(-0.653186, -0.595697, -0.535021, -0.471404, -0.405230, -0.336907, -0.266711, -0.195069);
	m256IF2 = _mm256_set_ps(-0.757197, -0.803209, -0.844839, -0.881918, -0.914215, -0.941538, -0.963777, -0.980790);
	m256R = _mm256_load_ps(SFRe + 152);
	m256I = _mm256_load_ps(SFIm + 152);
	_mm256_store_ps(SFRe + 152, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 152, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 216);
	m256I = _mm256_load_ps(SFIm + 216);
	_mm256_store_ps(SFRe + 216, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 216, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 216);
	m256I = _mm256_load_ps(SFIm + 216);
	_mm256_store_ps(SFRe + 216, _mm256_sub_ps(_mm256_load_ps(SFIm + 152), m256I));
	_mm256_store_ps(SFIm + 216, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 152)));
	_mm256_store_ps(SFRe + 152, _mm256_add_ps(_mm256_load_ps(SFRe + 152), m256R));
	_mm256_store_ps(SFIm + 152, _mm256_add_ps(_mm256_load_ps(SFIm + 152), m256I));
	m256RF1 = _mm256_set_ps(0.575801, 0.595697, 0.615235, 0.634402, 0.653186, 0.671577, 0.689563, 0.707133);
	m256IF1 = _mm256_set_ps(-0.817590, -0.803209, -0.788344, -0.773004, -0.757197, -0.740935, -0.724226, -0.707080);
	m256RF2 = _mm256_set_ps(-0.963783, -0.941546, -0.914205, -0.881929, -0.844852, -0.803224, -0.757214, -0.707098);
	m256IF2 = _mm256_set_ps(-0.266687, -0.336883, -0.405253, -0.471382, -0.535000, -0.595677, -0.653167, -0.707116);
	m256R = _mm256_load_ps(SFRe + 160);
	m256I = _mm256_load_ps(SFIm + 160);
	_mm256_store_ps(SFRe + 160, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 160, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 224);
	m256I = _mm256_load_ps(SFIm + 224);
	_mm256_store_ps(SFRe + 224, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 224, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 224);
	m256I = _mm256_load_ps(SFIm + 224);
	_mm256_store_ps(SFRe + 224, _mm256_sub_ps(_mm256_load_ps(SFIm + 160), m256I));
	_mm256_store_ps(SFIm + 224, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 160)));
	_mm256_store_ps(SFRe + 160, _mm256_add_ps(_mm256_load_ps(SFRe + 160), m256R));
	_mm256_store_ps(SFIm + 160, _mm256_add_ps(_mm256_load_ps(SFIm + 160), m256I));
	m256RF1 = _mm256_set_ps(0.405230, 0.427550, 0.449612, 0.471404, 0.492911, 0.514121, 0.535021, 0.555599);
	m256IF1 = _mm256_set_ps(-0.914215, -0.903992, -0.893224, -0.881918, -0.870080, -0.857718, -0.844839, -0.831451);
	m256RF2 = _mm256_set_ps(-0.949532, -0.970039, -0.985278, -0.995187, -0.999700, -0.998797, -0.992482, -0.980785);
	m256IF2 = _mm256_set_ps(0.313669, 0.242948, 0.170958, 0.097994, 0.024498, -0.049031, -0.122394, -0.195093);
	m256R = _mm256_load_ps(SFRe + 168);
	m256I = _mm256_load_ps(SFIm + 168);
	_mm256_store_ps(SFRe + 168, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 168, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 232);
	m256I = _mm256_load_ps(SFIm + 232);
	_mm256_store_ps(SFRe + 232, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 232, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 232);
	m256I = _mm256_load_ps(SFIm + 232);
	_mm256_store_ps(SFRe + 232, _mm256_sub_ps(_mm256_load_ps(SFIm + 168), m256I));
	_mm256_store_ps(SFIm + 232, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 168)));
	_mm256_store_ps(SFRe + 168, _mm256_add_ps(_mm256_load_ps(SFRe + 168), m256R));
	_mm256_store_ps(SFIm + 168, _mm256_add_ps(_mm256_load_ps(SFIm + 168), m256I));
	m256RF1 = _mm256_set_ps(0.219086, 0.242972, 0.266711, 0.290289, 0.313692, 0.336907, 0.359918, 0.382712);
	m256IF1 = _mm256_set_ps(-0.975705, -0.970033, -0.963777, -0.956939, -0.949525, -0.941538, -0.932984, -0.923868);
	m256RF2 = _mm256_set_ps(-0.615235, -0.671577, -0.724243, -0.773019, -0.817604, -0.857731, -0.893235, -0.923896);
	m256IF2 = _mm256_set_ps(0.788344, 0.740935, 0.689545, 0.634382, 0.575780, 0.514099, 0.449590, 0.382643);
	m256R = _mm256_load_ps(SFRe + 176);
	m256I = _mm256_load_ps(SFIm + 176);
	_mm256_store_ps(SFRe + 176, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 176, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 240);
	m256I = _mm256_load_ps(SFIm + 240);
	_mm256_store_ps(SFRe + 240, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 240, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 240);
	m256I = _mm256_load_ps(SFIm + 240);
	_mm256_store_ps(SFRe + 240, _mm256_sub_ps(_mm256_load_ps(SFIm + 176), m256I));
	_mm256_store_ps(SFIm + 240, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 176)));
	_mm256_store_ps(SFRe + 176, _mm256_add_ps(_mm256_load_ps(SFRe + 176), m256R));
	_mm256_store_ps(SFIm + 176, _mm256_add_ps(_mm256_load_ps(SFIm + 176), m256I));
	m256RF1 = _mm256_set_ps(0.024523, 0.049056, 0.073559, 0.098019, 0.122419, 0.146745, 0.170983, 0.195118);
	m256IF1 = _mm256_set_ps(-0.999699, -0.998796, -0.997291, -0.995185, -0.992479, -0.989174, -0.985274, -0.980780);
	m256RF2 = _mm256_set_ps(-0.073559, -0.146745, -0.219086, -0.290289, -0.359918, -0.427550, -0.492911, -0.555599);
	m256IF2 = _mm256_set_ps(0.997291, 0.989174, 0.975705, 0.956939, 0.932984, 0.903992, 0.870080, 0.831451);
	m256R = _mm256_load_ps(SFRe + 184);
	m256I = _mm256_load_ps(SFIm + 184);
	_mm256_store_ps(SFRe + 184, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 184, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 248);
	m256I = _mm256_load_ps(SFIm + 248);
	_mm256_store_ps(SFRe + 248, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 248, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 248);
	m256I = _mm256_load_ps(SFIm + 248);
	_mm256_store_ps(SFRe + 248, _mm256_sub_ps(_mm256_load_ps(SFIm + 184), m256I));
	_mm256_store_ps(SFIm + 248, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 184)));
	_mm256_store_ps(SFRe + 184, _mm256_add_ps(_mm256_load_ps(SFRe + 184), m256R));
	_mm256_store_ps(SFIm + 184, _mm256_add_ps(_mm256_load_ps(SFIm + 184), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 128));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 128));
	_mm256_store_ps(SFRe + 128, _mm256_sub_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 128)));
	_mm256_store_ps(SFIm + 128, _mm256_sub_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 128)));
	_mm256_store_ps(SFRe + 0, m256R);
	_mm256_store_ps(SFIm + 0, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 136));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 136));
	_mm256_store_ps(SFRe + 136, _mm256_sub_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 136)));
	_mm256_store_ps(SFIm + 136, _mm256_sub_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 136)));
	_mm256_store_ps(SFRe + 8, m256R);
	_mm256_store_ps(SFIm + 8, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 16), _mm256_load_ps(SFRe + 144));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 16), _mm256_load_ps(SFIm + 144));
	_mm256_store_ps(SFRe + 144, _mm256_sub_ps(_mm256_load_ps(SFRe + 16), _mm256_load_ps(SFRe + 144)));
	_mm256_store_ps(SFIm + 144, _mm256_sub_ps(_mm256_load_ps(SFIm + 16), _mm256_load_ps(SFIm + 144)));
	_mm256_store_ps(SFRe + 16, m256R);
	_mm256_store_ps(SFIm + 16, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 24), _mm256_load_ps(SFRe + 152));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 24), _mm256_load_ps(SFIm + 152));
	_mm256_store_ps(SFRe + 152, _mm256_sub_ps(_mm256_load_ps(SFRe + 24), _mm256_load_ps(SFRe + 152)));
	_mm256_store_ps(SFIm + 152, _mm256_sub_ps(_mm256_load_ps(SFIm + 24), _mm256_load_ps(SFIm + 152)));
	_mm256_store_ps(SFRe + 24, m256R);
	_mm256_store_ps(SFIm + 24, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 32), _mm256_load_ps(SFRe + 160));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 32), _mm256_load_ps(SFIm + 160));
	_mm256_store_ps(SFRe + 160, _mm256_sub_ps(_mm256_load_ps(SFRe + 32), _mm256_load_ps(SFRe + 160)));
	_mm256_store_ps(SFIm + 160, _mm256_sub_ps(_mm256_load_ps(SFIm + 32), _mm256_load_ps(SFIm + 160)));
	_mm256_store_ps(SFRe + 32, m256R);
	_mm256_store_ps(SFIm + 32, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 40), _mm256_load_ps(SFRe + 168));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 40), _mm256_load_ps(SFIm + 168));
	_mm256_store_ps(SFRe + 168, _mm256_sub_ps(_mm256_load_ps(SFRe + 40), _mm256_load_ps(SFRe + 168)));
	_mm256_store_ps(SFIm + 168, _mm256_sub_ps(_mm256_load_ps(SFIm + 40), _mm256_load_ps(SFIm + 168)));
	_mm256_store_ps(SFRe + 40, m256R);
	_mm256_store_ps(SFIm + 40, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 48), _mm256_load_ps(SFRe + 176));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 48), _mm256_load_ps(SFIm + 176));
	_mm256_store_ps(SFRe + 176, _mm256_sub_ps(_mm256_load_ps(SFRe + 48), _mm256_load_ps(SFRe + 176)));
	_mm256_store_ps(SFIm + 176, _mm256_sub_ps(_mm256_load_ps(SFIm + 48), _mm256_load_ps(SFIm + 176)));
	_mm256_store_ps(SFRe + 48, m256R);
	_mm256_store_ps(SFIm + 48, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 56), _mm256_load_ps(SFRe + 184));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 56), _mm256_load_ps(SFIm + 184));
	_mm256_store_ps(SFRe + 184, _mm256_sub_ps(_mm256_load_ps(SFRe + 56), _mm256_load_ps(SFRe + 184)));
	_mm256_store_ps(SFIm + 184, _mm256_sub_ps(_mm256_load_ps(SFIm + 56), _mm256_load_ps(SFIm + 184)));
	_mm256_store_ps(SFRe + 56, m256R);
	_mm256_store_ps(SFIm + 56, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 64), _mm256_load_ps(SFRe + 192));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 64), _mm256_load_ps(SFIm + 192));
	_mm256_store_ps(SFRe + 192, _mm256_sub_ps(_mm256_load_ps(SFRe + 64), _mm256_load_ps(SFRe + 192)));
	_mm256_store_ps(SFIm + 192, _mm256_sub_ps(_mm256_load_ps(SFIm + 64), _mm256_load_ps(SFIm + 192)));
	_mm256_store_ps(SFRe + 64, m256R);
	_mm256_store_ps(SFIm + 64, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 72), _mm256_load_ps(SFRe + 200));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 72), _mm256_load_ps(SFIm + 200));
	_mm256_store_ps(SFRe + 200, _mm256_sub_ps(_mm256_load_ps(SFRe + 72), _mm256_load_ps(SFRe + 200)));
	_mm256_store_ps(SFIm + 200, _mm256_sub_ps(_mm256_load_ps(SFIm + 72), _mm256_load_ps(SFIm + 200)));
	_mm256_store_ps(SFRe + 72, m256R);
	_mm256_store_ps(SFIm + 72, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 80), _mm256_load_ps(SFRe + 208));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 80), _mm256_load_ps(SFIm + 208));
	_mm256_store_ps(SFRe + 208, _mm256_sub_ps(_mm256_load_ps(SFRe + 80), _mm256_load_ps(SFRe + 208)));
	_mm256_store_ps(SFIm + 208, _mm256_sub_ps(_mm256_load_ps(SFIm + 80), _mm256_load_ps(SFIm + 208)));
	_mm256_store_ps(SFRe + 80, m256R);
	_mm256_store_ps(SFIm + 80, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 88), _mm256_load_ps(SFRe + 216));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 88), _mm256_load_ps(SFIm + 216));
	_mm256_store_ps(SFRe + 216, _mm256_sub_ps(_mm256_load_ps(SFRe + 88), _mm256_load_ps(SFRe + 216)));
	_mm256_store_ps(SFIm + 216, _mm256_sub_ps(_mm256_load_ps(SFIm + 88), _mm256_load_ps(SFIm + 216)));
	_mm256_store_ps(SFRe + 88, m256R);
	_mm256_store_ps(SFIm + 88, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 96), _mm256_load_ps(SFRe + 224));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 96), _mm256_load_ps(SFIm + 224));
	_mm256_store_ps(SFRe + 224, _mm256_sub_ps(_mm256_load_ps(SFRe + 96), _mm256_load_ps(SFRe + 224)));
	_mm256_store_ps(SFIm + 224, _mm256_sub_ps(_mm256_load_ps(SFIm + 96), _mm256_load_ps(SFIm + 224)));
	_mm256_store_ps(SFRe + 96, m256R);
	_mm256_store_ps(SFIm + 96, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 104), _mm256_load_ps(SFRe + 232));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 104), _mm256_load_ps(SFIm + 232));
	_mm256_store_ps(SFRe + 232, _mm256_sub_ps(_mm256_load_ps(SFRe + 104), _mm256_load_ps(SFRe + 232)));
	_mm256_store_ps(SFIm + 232, _mm256_sub_ps(_mm256_load_ps(SFIm + 104), _mm256_load_ps(SFIm + 232)));
	_mm256_store_ps(SFRe + 104, m256R);
	_mm256_store_ps(SFIm + 104, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 112), _mm256_load_ps(SFRe + 240));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 112), _mm256_load_ps(SFIm + 240));
	_mm256_store_ps(SFRe + 240, _mm256_sub_ps(_mm256_load_ps(SFRe + 112), _mm256_load_ps(SFRe + 240)));
	_mm256_store_ps(SFIm + 240, _mm256_sub_ps(_mm256_load_ps(SFIm + 112), _mm256_load_ps(SFIm + 240)));
	_mm256_store_ps(SFRe + 112, m256R);
	_mm256_store_ps(SFIm + 112, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 120), _mm256_load_ps(SFRe + 248));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 120), _mm256_load_ps(SFIm + 248));
	_mm256_store_ps(SFRe + 248, _mm256_sub_ps(_mm256_load_ps(SFRe + 120), _mm256_load_ps(SFRe + 248)));
	_mm256_store_ps(SFIm + 248, _mm256_sub_ps(_mm256_load_ps(SFIm + 120), _mm256_load_ps(SFIm + 248)));
	_mm256_store_ps(SFRe + 120, m256R);
	_mm256_store_ps(SFIm + 120, m256I);
}
#endif
